본문 바로가기
야매 개발실/Android

[Android] Cocos2d-x 사용하기

by 야매플머 2012. 8. 17.
반응형


이번에는 Android에 cocos2d-x를 적용해보도록 합니다. iOS에 상대적으로 적용이 괴랄합니다. 뭔가 간단하게 한번에 되지 않습니다. 조금 오래된 버전의 cocos2d-x에서 안드로이드 적용하기는 정말 괴랄 했죠.. 그러나 최근 버전업을 해가면서 조금은 편해진 느낌이랄까요.. 그래도 차므로 괴랄합니다. 여튼 한번 해보도록 하죠. 우선 cocos2d-x는 어디서 다운로드 받는지 아실 겁니다.


http://www.cocos2d-x.org/ 


위 주소에서 최신 버전의 cocos2d-x를 다운로드 받으시되 최근 html 버전의 cocos2d도 나와서 다운로드 링크가 걸려있고 한데 native 버전의 cocos2d-x를 다운로드 받으시면됩니다. 일반적으로 android에 cocos2d-x를 적용시킬때 cocos2d-x의 폴더에 프로젝트가 생성되게 됩니다. 고로 cocos2d-x를 사용하기 편한 적당한 디렉토리에 압축 해제하여 설치 하십니다. 복잡한 디렉토리 명칭에 넣지 않는 것을 추천합니다. 제가 하는 방식에서는 나중에 cocos2d-x 소스코드를 빌드하기 위해서는 콘솔에서 접근해서 따로 빌드 해야 합니다. 이름이 괴랄하게 길거나 하면 들어가기 참 고통 스럽쥬. 그리고 NDK를 다운로드 받아야 합니다. 안드로이드 c++이랍니다. 이 녀석은 안드로이드 개발자 페이지에서 OS에 맞는 것으로 다운로드 해주시면 됩니다.


http://developer.android.com/index.html


자 이제 어느정도는 준비가 잘 되었습니다. 이제 부터 좀 괴랄합니다. 사실 Mac OS에서는 안드로이드 cocos2d-x를 셋팅할때 상대적으로 편합니다. 그 이유가 뭔고 하니 Mac OSX가 유닉스 기반이라 이미 gcc 컴파일러 라던지 하는 것이 설치가 되어있죠. 뭐 ... 자세한 것은 뭐 그렇다 치고.. 쉽게 말해서 특별한거 설치 않해도 맥 터미널에서 손쉽게 소스코드 빌드를 할 수 있다는 것입니다. 그러나 윈도우는 그런거 없죠.

물론 MinGW라는 것을 설치하면 윈도우에서도 gcc 컴파일을 할 수 있습니다만.. cocos2d-x에서 프로젝트를 생성할떄 필요한 실행파일이 이녀석에는 없는 것 같더군요.. 좀 편하게 해보려다 결국 일반적인 방법을 선택합니다. Cygwin 을 사용합니다. 조금 있다 설명 드릴때 등장하겠지만 cocos2d-x의 프로젝트 생성용 배치 파일안에 들여다보면 cygwin의 경로를 요구하는 부분을 찾을 수 있습니다. 고로 이것이 필요 하다는 것이죠. 흠.. 이것의 용도는 윈도우에서 마치 리눅스나 유닉스 터미널 같은것을 구현 해 주는 역활 인듯 합니다. 뭐.. 정확한 것 모르겠지만.. 별도의 shell을 제공하는 것 봐서는 가상 유닉스환경? 정도 되는 듯 합니다. Cygwin의 경우 아래 주소에서 최신 설치 버전을 다운로드 받습니다.


http://www.cygwin.com/


다운로드 받은 후 설치를 하게 되는데, 일단 넥스트 넥스트 누르면서 설치 하시되.. 갑지가 뭔 리스트가 쭉 뜨면서 선택하는게 나오는데요. 바로 이런 것이요....




자 여기서 Deve 항목과 Edit 항목을 인스톨로 선택합니다. 그리고 설치합니다. 원래 필요한 부분 디테일 하게 몇군데 이지만.. 귀찮으니 그냥 한방에 선택해서 실치 하십니다. 뭔가 인터넷을 통해서도 다운로드를 받고 설치를 하는데 꾀 시간이 걸립니다. 설치를 완료하고 나면 cygwin shell 이라는 것이 설치가 됩니다. 이 쉘을 프로젝트를 빌드 할때 사용하게 됩니다. 

cocos2d-x 안드로이드 프로젝트를 생성하기 위해서는 cocos2d-x에서 제공하는 배치 파일을 이용하게 됩니다. 다운로드 받은 cocos2d-x의 디렉토리로 접근해 보면 create-android-project.bat(create-android-project.sh) 가 있을 것입니다. bat 파일은 윈도우에서 사용하시면 되고 sh는 unix계열의 mac OSX, Linux 등에서 사용하시면 됩니다. 바로 실행하면, 정상적으로 프로젝트 생성이 되지는 않을 것입니다.

메모장 또는 유용한 텍스트 에디터 (저는 게인적으로 노트패드 플러스를 추천합니다.) 를 이용하여 bat 파일을 열어봅니다.

해당 파일을 열어보면  set _CYGBIN=, set _ANDROIDTOOLS=,  set _NDKROOT= 항목을 볼 수 있을 것입니다. 명칭에서부터 알 수 있듯이 방금 설치한 cygwin과 안드로이드 SDK 그리고 NDK의 경로를 넣어주면 됩니다. 예를 들면 아래와 같이 넣어 주면 됩니다.


set _CYGBIN=c:\cygwin\bin

set _ANDROIDTOOLS=c:\Program Files\android-sdks\tools

set _NDKROOT=d:\SDKs\android-ndk-r8b\android-ndk-r8b


대충 이런식입니다. 설정을 저장한 후 cmd 커맨드 쉘로 create-android-project.bat 를 실행시킵니다. 그럼 프로젝트 생성이 진행 됩니다. 원하는 요구사항을 하나씩 살펴 보시면서 생성하면 됩니다. 이런 방식으로 생성을 하게 되면 cocos2d-x 디렉토리에 프로젝트 폴더가 생성 됩니다. 정상생성 되었다면 이제 편집과 실행을 위해서 eclipse에서 android project를 임폴트 합니다. 프로젝트를 불러 올때는 생성된 프로젝트 명칭 디렉토리 아래 proj.android 를 불러오면 됩니다. 


이제 기본생성된 프로젝트를 빌드하고 실행해 보도록 합시다. 조금전 설치한 cygwin shell를 실행시켜봅니다. 실행시킨 다면 이런 화면이 나옵니다.



이 콘솔에서 프로젝트가 생성되어 있는 디렉토리로 이동합니다. 일반적으로 윈도우 디렉토리에 접근하기 위해서는 /cygdrive/(c 또는 d) 의 형태로 접근하여 해당 디렉토리로 이동하면 됩니다. 자신이 생성한 프로젝트 디렉토리에 도착 하였다면 build_native.sh 를 이용하여 빌드를 합니다. ./build_native.sh 이런 식으로 실행하면 됩니다.  뭔가 내용이 죽죽 나오면서 빌드하기 시작 할 것입니다. 별다른 에러 메세지가 없이 성공 하였다면 방금전 이클립스로 돌아가 안드로이드 기기 연결 후 실행 시켜줍니다. 별다른 문제가 없다면 cocos2d-x의 기본 실행 화면을 볼 수 있을 것입니다. 


뭔가 안드로이드는 좀 안습이네요.. 복잡합니다. 살짝 방심하는 순간 해맬 가능성 농후합니다. 코드는 iOS나 Android나 C++를 이용해서 사용하면되니 코드 관리에는 상당히 유용한 편일 것입니다. 그럼 다음에는 cocos2d-x에 API를 하나씩 사용해 보면서 작업해본 내용들을 포스팅 해보겠습니다.

 


반응형

'야매 개발실 > Android' 카테고리의 다른 글

PhoneGab Android FullScreen Settings...  (0) 2011.12.19