코코스 개발환경 세팅
++++++++++++++++++++++++++++++
+ 코코스 개발환경 세팅
++++++++++++++++++++++++++++++
코코스 다운로드 - 환경변수 : path > 코코스 경로
http://www.cocos2d-x.org/download
path > COCOS_CONSOLE_ROOT
C:\Apps\Mobile\cocos2d-x-3.1.1\tools\cocos2d-console\bin
파이썬 다운로드 - 환경변수 : path > C:\Apps\Mobile\Python
https://www.python.org/download (cocos-2dx의 경우 python 2.x대 버전 설치를 권장)
프로젝트 생성
C:\Apps\Mobile\cocos2d-x-3.1.1\tools\cocos2d-console\bin
> cocos new 프로젝트명 -p 패키지명 -l cpp
++++++++++++++++++++++++++++++
+ 안드로이드 포팅 환경 구축
++++++++++++++++++++++++++++++
Java SDK 설치 (JDK 선택) - 환경변수 : JAVA_HOME > Java SDK 경로 입력
http://www.oracle.com/technetwork/java/javase/downloads/index.html
안드로이드 SDK 설치 - 실행후 Android SDK Manager에서 필요한 항목 인스톨
http://developer.android.com/tools/sdk/index.htmln
NDK 설치
http://developer.android.com/tools/sdk/ndk/index.html
ANT 설치
http://ant.apache.org/bindownload.cgi
코코스 환경 설정
명령프롬프트에서 메인 폴더로 이동 후 다음 구문 실행
> python setup.py
SDK 경로 : adt폴더 하위의 sdk폴더까지 입력
ANT 경로 : apache-ant 하위의 bin폴더까지 입력
안드로이드 컴파일
작업 프로젝트의 하위 폴더인 proj.android로 이동
> cocos complie 프로젝트명 -p android
성공하면 bin폴더안에 컴파일한 apk파일 생성됨
안드로이드 실행
단말기 연결후 다음 실행
> cocos run 프로젝트명 -p android
++++++++++++++++++++++++++++++
+ 이클립스에서 실행
++++++++++++++++++++++++++++++
import : Existing Android Code Into Workspace
C:\Apps\Mobile\cocos2d-x-3.1.1\tools\cocos2d-console\bin\seoljoo\proj.android
C:\Apps\Mobile\cocos2d-x-3.1.1\tools\cocos2d-console\bin\seoljoo\cocos2d\cocos\platform\android\java
++++++++++++++++++++++++++++++
+ 추가 라이브러리 사용
++++++++++++++++++++++++++++++
http://www.gamedevforever.com/m/post/308
++++++++++++++++++++++++++++++
+ 안드로이드 포팅시 특이사항
++++++++++++++++++++++++++++++
.....proj.android\../cocos2d/cocos/./Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries
에러 발생시 해당 파일에 다음 한 줄 추가
LOCAL_CFLAGS := -w
CPP로 작업후 안드로이드로 포팅시
jni/Android.mk 파일에 Cpp파일 경로 수작업으로 등록
cpp 및 h 파일들이 추가되면 PROJECT/proj.android/jni/android.mk에 일일이 기술해줘야 함. 그렇게하면 귀챦으므로 디렉터리 내 파일들을 자동으로 포함되도록
수정. 다음 라인을
LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp
다음과 같이 수정
GAME_SOURCE_DIR := $(LOCAL_PATH)/../../Classes GAME_SOURCE_FILES := $(foreach file, $(notdir $(wildcard $(GAME_SOURCE_DIR)/*.cpp)), ../../Classes/$(file)) LOCAL_SRC_FILES := hellocpp/main.cpp ../ $(GAME_SOURCE_FILES) LOCAL_WHOLE_STATIC_LIBRARIES, import-module 부분도 추가 LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_gui_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static … $(call import-module,2d) $(call import-module,audio/android) $(call import-module,Box2D) $(call import-module,gui) $(call import-module,extensions) $(call import-module,editor-support/cocostudio) $(call import-module,network)
기본적으로 생성한 프로젝트가 win32는 chipmunk를 사용하게 설정 되어있는 반면 android는 box2d를 사용하게 설정 되어있는 점 유의할 것
http 통신을 위해 curl을 이용하는 경우 라이브러리를 별도로 추가해줘야함
솔루션 탐색기 > 프로젝트에서 우클릭 > 프로퍼티 > Configuration > Linker > input > additional dependices > libcurl_imp.lib 추가
++++++++++++++++++++++++++++++
+ pkm to png
++++++++++++++++++++++++++++++
cd C:\Users\Administrator\Desktop\프로젝트명\assets\res\common\tex\backgrounds
C:\Apps\SDK\android-sdks\tools\etc1tool.exe w0_bg.pkm --decode -o w0_bg.png
++++++++++++++++++++++++++++++
+ 3.2 안드로이드 포팅
++++++++++++++++++++++++++++++
+ Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/cocos2dx/lib/Cocos2dxAccelerometer 일때
Java Build Path > Libraries > Android Dependensies 제거
+ This Project is not a CDT project
Assuming you've got the CDT plugin installed
Right-click on the project.
Select: New -> Other
Under C/C++, select "Convert to a C/C++ project"
++++++++++++++++++++++++++++++
+ 참고 프로젝트
++++++++++++++++++++++++++++++
FlappyBird: [https://github.com/makeapp/cocoseditor-flappybird]
PopStar: [https://github.com/makeapp/cocoseditor-popstar]
FruitNinja: [https://github.com/makeapp/cocoseditor-fruitninja]
MoonWarriors: [https://github.com/makeapp/cocoseditor-moonwarriors]
FruitAttack: [https://github.com/makeapp/cocoseditor-fruitattack]
TestsJavascript: [https://github.com/makeapp/cocoseditor-tests]
2048: [https://github.com/makeapp/cocoseditor-2048]
PianoTiles: [https://github.com/makeapp/cocoseditor-piano]