cocos2d-x 2.1.4 IOS移植到android

来源:互联网 发布:网络克隆win7系统 编辑:程序博客网 时间:2024/06/03 07:37

      本人使用的demo,如何制作一个横版格斗过关游戏 Cocos2d-x 2.0.4,本例子是win32的,目前,我使用的cocos2d-x版本为2.1.4,不过,我已用xcode做了移植,demo能正常跑起来。下载链接:http://download.csdn.net/detail/my183100521/6545713

效果图如下:




 

第零步:配置好android for mac 开发环境,请参考下himi的博文: http://www.himigame.com/iphone-cocos2dx/636.html

      本人机子配置环境变量如下:


第一步:建立android工程


#1运行cocos2d-x目录下的create-android-project.sh

#2然后首先输入包名和项目名。

      注意有坑!会删除和覆盖你在cocos2d-x安装目录下同名文件夹,如果你建立了一个同名项目(有的话一般是win32的)的话。





      输入支持系统版本,android是向下兼容的。我这里写1,也就是android4.3,然后项目就建立好了,你会发现在cocos2d-x安装目录下,多了个Test文件夹
 

第二步:导入代码和资源



#1打开Test




#2我们看到有三个文件夹,其中android就是android项目文件夹


      把你ISO项目里的Classes拷贝到当前Classes下(注意删除Classes里面的多余的cpp和h,就是项目自动生成的那些)

      把你ISO项目里的Resources拷贝到当前Resources下(注意删除Classes里面的多余资源,就是项目自动生成的那些)


第三步:编辑mk


#1注意有坑!android项目里有一大堆mk,而且不同的教程说的mk位置还不一样!你编辑错误了,是无效的(跟你实际使用的mk也有关系)。在这个例子中,我们使用的是Classes下的mk

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := game_sharedLOCAL_MODULE_FILENAME := libgameLOCAL_SRC_FILES := hellocpp/main.cpp \                   ../../Classes/AppDelegate.cpp \                   ../../Classes/HelloWorldScene.cpp \                   ../../Classes/ActionSprite.cpp \   ../../Classes/SimpleDPad.cpp \   ../../Classes/GameScene.cpp \   ../../Classes/Hero.cpp \   ../../Classes/HudLayer.cpp \   ../../Classes/Robot.cpp \   ../../Classes/GameLayer.cpp   LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../ClassesLOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static            include $(BUILD_SHARED_LIBRARY)$(call import-module,CocosDenshion/android) \$(call import-module,cocos2dx) \$(call import-module,extensions)

#2要修改的地方如下


      LOCAL_SRC_FILES:在这里加入你Classes下的cpp文件
      LOCAL_C_INCLUDES:在这里添加你使用的库的h文件,如果有的话

      LOCAL_LDLIBS:在这里添加你使用的库的lib文件,如果有的话


      注意,第三方库和额外的库都是要自己添加的。默认生成的mk里没那么全。


第四步:运行build_native.sh脚本,编辑so库


#1运行你的终端
#2进入当前Test\android路径下

#3运行build_native.sh脚本




头一次编译会长些,编译完然后你会看到,在android文件夹下面生成了一大堆东西。


第五步:导入到eclipse


#1注意有坑!使用新建android项目下的Create project from existing source,如果你使用的是“导入”有可能无法识别。

#2导入成功,然后就是编译执行了。







其他注意事项:


      #1.ISO项目对资源文件大小写很敏感,android也敏感,所以如果出错了,把给你提供资源的人给打一顿
      #2.可以直接把IOS项目里的工程文件,以及IOS文件夹复制进来,项目就可以和xcode共用了,当然cocos2d-x也是这么干的
      #3.xcode用的是gb码,android用的是utf-8
      #4.android的横竖屏问题错乱,在android下把pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);

这句用条件编译宏给关掉

      #5.ndk编译build_native.sh ,注意.cpp 使用宏文件的问题。若有错,请注释掉。

原创粉丝点击