Devlopment/Mobile

    COCOS2D-X 윈도우에서 신규 솔루션으로 만들기

    COCOS2D-X 솔루션에서 프로젝트를 만들면 빌드하기 편하지만, 신규 솔루션에서 하려면 어떻게 해야 할까? 우선 COCOS2D-X WIN32 프로젝트를 생성하자. 프로젝트명은 Game으로 생성해서 D:\에 생성했다고 하자. 1. 소스 파일 cocos2d-1.0.1-x-0.11.0에 있는 프로젝트 중에서 쓴 프로젝트들을 폴더채로 D:Game에 복사한다. 2. LIB 파일 쓴 Lib 파일들을 D:\Game\Game에 복사한다. 3. DLL 파일 쓴 DLL 파일들을 D:\Game\Debug.win32에 복사한다. Reference [1] http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/78980-cocos2d-x-win32-install-deploy-tuto..

    COCOS2D-X 설치 (윈도우)

    COCOS2D-X 설치 (윈도우)

    COCOS2D-X 설치!! 어렵지잉~ 않아요오오~~ * COCOS2D-X 설치 및 테스트 1. VS 2008 or VS 2010 설치 2. COCOS2D-X 다운로드 3. 압축해제 (압축 푸는 곳이 설치장소) 4. install-templates-msvc 실행 5. build-win32.bat 실행 6. cocos2d-win32.vc2008 or cocos2d-win32.vc2010 맞춰서 실행 7. HelloWorld 프로젝트를 시작 프로젝트로 설정 8. 빌드 및 실행 COCOS2D-X Download ( http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download ) 테스트 Hello World 설치가 끝나면 다음 COCOS2D-X UserGuide창이 뜬다..

    COCOS2D Android에서 드래그 앤 드랍(Drag & Drop)

    음, 안드로이드에서 COCOS2D를 쓰면 쓸수록 삽질을 많이 한다. 특히나 아이폰에 맞춰 만들어진 것을 안드로이드용으로 포팅하면서 많은 문제가 아직 남아있다는 걸 느낀다. 지난 게임 관련 포스팅을 할 때 COCOS2D 안드로이드 엔진에 대한 문제를 몇 가지 적어놓았다. 이번에는 드래그 앤 드랍을 안드로이드용으로 하는 소스를 써보려 한다. 아래 소스를 참조하자. [1]을 보고 만든 것이다. Objective C를 자바 형태로 센스있게 바꾸면서 작업했다. Objective C에 있는 메소드나 클래스명이 거의 그대로 자바 엔진에 있었다. 메소드명이나 파라미터 형태가 조금 다른게 몇 개 있었지만 나름 잘 짜여져 있었다. 다만 몇 가지 문제가 있었는데. 문제 1. 아이폰에서는 ccTouchesMoved(드래그중 ..

    [안드로이드 게임 개발] 1. 시작과 시행착오

    처음 안드로이드에서 게임을 개발해보고자 마음 먹었던 것은 2011년도 10월쯤이었던 것 같다. 처음 게임을 만들었던 것은 초등학교 시절 RPG쭈꾸르, 95, 2000로 만들었지만 정작 프로그래머가 된 이후에 스스로 제대로 된 게임을 만들어 본 적은 없었다. 나는 프로그래머지만, 게임 프로그래머가 아니다. 프레임워크나 애플리케이션단을 주로 개발하기 때문에 게임을 어떻게 개발하는지도 모르고 게임업계에 종사하고 있지도 않다. 그러나 게임을 만드는 것은 프로그래머의 로망이 아닌가 싶다. 게임을 만들기로 마음 먹은 이후 우선은 안드로이드로 만들기로 했다. 시작하는데는 아이폰이 더 좋을것 같지만, 안드로이드를 선택한 이유는 맥북이 없다는 점과 내가 Java나 안드로이드 개발 스킬이 뛰어나고(?) GIS 안드로이드용..

    Cocos2d를 이용하영 FPS 출력하는 기본 소스

    요즘 COCOS2D를 공부하고 있다. COCOS2D 자체가 아이폰용에 맞춰 개발된 것을 안드로이드용으로 추가로 개발된 것이기에 안드로이드용 관련 자료가 별로 없다. 그래서 나도 아이폰용 강좌나 자료를 보고 공부했다. 기본적인 개념을 알고나면 다른 엔진에 비해 쉬운 것 같다. 그래서 AndEngine을 쓰려고 하다가 포기하고 자체 엔진을 개발하고 있던 나는 일단 COCOS2D를 이용해서 개발하기로 결심했다. 참고로 여기 좋은 포스팅이 많이 있습니다. http://self-toeic.tistory.com/ 아래는 FPS를 재는 기본 소스이다. 주석에서 나오는 것처럼 FPS를 재려면 asset디렉토리에 fps_images.png가 있어야 한다. 물론 엔진 jar파일도 당연히 포함시켜야 하고 말이다. packa..

    안드로이드(Android) OnGestureListener 사용법

    OnGestureListener를 사용해보려고 구현을 하였는데 로그를 찍어보니 호출이 되지를 않았다. 어떤 문제인지 찾다가 곧 이유를 알게 되었다. 이 인터페이스는 메소드를 구현된다고 호출이 되지 않는다. 이 인터페이스를 사용할 경우 같이 사용해야 하는 것이 GestureDetector라는 것이다. 이 GestureDetector를 멤버 함수로 갖고 있으면서, onTouchEvent의 발생시에 GestureDetector를 통해 리턴을 해줘야 OnGestureListener의 메소드들이 올바로 호출이 된다. 아래는 참고 소스이다. import android.app.Activity; import android.os.Bundle; import android.view.GestureDetector; import..

    안드로이드에서 OpenGL ES를 사용하는 GLSurfaceView의 기본 골격

    이전 포스팅에서는 기본적인 View와 SurfaceView를 사용하는 기본 구조에 대해 포스팅했다. 그러나 OPENGL ES를 사용한다면 GLSurfaceView를 사용해야 하며 이 구조는 이전과는 또 상이하다. import android.app.Activity; import android.opengl.GLSurfaceView; import android.os.Bundle; import android.view.Window; public class Main extends Activity { private GLSurfaceView mView = null; private MainRenderer mRenderer = null; @Override public void onCreate(Bundle savedInst..

    안드로이드 View, SurffaceView를 사용하는 기본 골격

    1. View View는 onDraw를 통해 그림을 그려주고 invalidate를 호출하면 다시 onDraw()가 호출된다. 하지만, 안드로이드에서는 invalidate()를 호출하면 에러가 난다. Handler를 사용하거나 postInvalidate()를 호출해야 한다. import android.content.Context; import android.graphics.Canvas; import android.view.View; public class MyView extends View{ public MyView(Context context) { super(context); // invalidate postInvalidate(); } @Override protected void onDraw(Canvas..

    안드로이드 게임 엔진

    안드로이드 게임 엔진이 많다. 전부터 찾다보니 더 생기기도 하고 중단하기도 한 엔진이 있는데 이중에서 AndEngine라는게 제일 괜찮아 보여서 이걸 조금씩 보고 있는 중이다. AndEngine Refenence [1] AndEigine (http://www.andengine.org/forums/) [2] AndEngine 분석글 (http://sgap.springnote.com/pages/7399251) [3] Tiled 이용글 (http://togalaxy.tistory.com/4) [4] AndEngine 설명 링크글 (http://blog.naver.com/badskyblood?Redirect=Log&logNo=30113071726) [5] AndEngine Tutorial list (http:/..

    안드로이드 앱 'SD 카드로 이동', '디바이스로 이동' 기능

    안드로이드에서 설정 > 응용프로그램 > 응용프로그램 관리 > 에서 앱을 하나 선택하면, 'SD 카드로 이동', '디바이스로 이동'을 눌러서 저장위치를 선택할 수 있다. 물론 되는 앱도 있고 그렇지 않은 앱도 있다. 이 기능은 안드로이드 2.2부터 지원되는 기능이다. 따라서, 폰 펌웨어 자체가 2.1 이하라면 어떠한 앱도 이 기능을 지원하지 않는다. 펌 웨어 2.2이상 폰에서는, 이 기능을 지원하도록 설정해준 앱들만 사용 가능하다. 개발시, 이것을 지원해주기 위해서는 Platform 2.2, API Level 8이 필요하다. AndroidManifest.xml 에서 두가지만 잘 설정해주면 된다. 과 같이 최소 SDK 버전 8이상을 설정해주고 ... manifest태그에 android:installLocat..