Creating an iOS and Android Cocos2D-x 2.1.1 hybrid project
由于cocos2d-x 2.1.1版本的build规则与之前有较大差别,所以在iOS项目跟android项目代码整合方面花了一些时间。
特别声明:本文创建的是cocos2dx project,非特殊项目,例如Box2D project。如果你需要的是Box2D project,自行参考处理。
参考了以下文章
http://gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/
http://www.himigame.com/cocos2dx-v2-0/962.html
先将整合步骤整理如下:
1、分别创建iOS project 和android project。(略)
2、将android project目录下的 proj.android 拷贝到 iOS project下,并重命名为android。操作完成后,新的目录如
3、将 cocos2dx/platform 下的 h和cpp 文件拷贝到 {PROJECT_LOC}/libs/ cocos2dx/platform,无需递归子文件夹
4、将 cocos2dx/platform/andriod 拷贝到 {PROJECT_LOC}/libs/ cocos2dx/platform
5、将 cocos2dx/platform/third_party/andriod 拷贝到 {PROJECT_LOC}/libs/ cocos2dx/platform/third_party
6、将 cocos2dx/support/user_default 下的 CCUserDefaultAndroid.cpp、CCUserDefault.cpp 拷贝到 {PROJECT_LOC}/libs/ cocos2dx/support/user_default
7、将 CocosDenshion/andriod 拷贝到 {PROJECT_LOC}/libs/CocosDenshion/andriod
8、将 extensions/GUI/CCEditBox 拷贝到 {PROJECT_LOC}/libs/extensions/GUI/CCEditBox
9、将 cocos2dx/Android.mk 拷贝到 {PROJECT_LOC}/libs/ cocos2dx,无需修改。
10、将 extensions/Android.mk 拷贝到 {PROJECT_LOC}/libs/extensions,由于非Box2D项目,在这里我删除了一下内容
$(call import-module,external/Box2D)
$(call import-module,external/chipmunk)
11、修改 {PROJECT_LOC}/android/build_native.sh
COCOS2DX_ROOT="../libs"
APP_ROOT="../"
APP_ANDROID_ROOT="$APP_ROOT/android"
12、在 {PROJECT_LOC}/android 目录下添加 makefile
1) vi makefile
2) 输入以下内容
3) 保存,退出。
4) 在当前目录执行命令 make clean 如果看到以下结果,则表示命令正常
13、确认NDK_ROOT 是否已经配置
14、在 {PROJECT_LOC}/android 目录下执行命令 ./build_native.sh
看到 Install : libgame.so => libs/armeabi/libgame.so
就表示你成功了。
剩下的就是将android项目添加到eclipse中,这方面的资料很多。请自行搜索。
相关推荐
进入场景而且过渡动画结束时候触发。提示 GameScene场景中的继承于节点,这些生命周期事件根本上是从Node继承而来。事实上所有Node对象都有这些事件,具体实现代码与GameScene场景类似。