Cocos2d-x项目移植(Win32至IOS,Win32至Android)

来源:互联网 发布:json unicode转中文 编辑:程序博客网 时间:2024/05/31 18:32

转自:http://www.58player.com/blog-2388-102251.html


 1、前面的三个Cocos2d-x小游戏都是在VS中编写的,但是这些游戏实际上应该运行在手机或是平板等手持设备上。这就涉及到一个移植的问题。因为Cocos2d-x是由C++编写的,而IOS和Android又都有C++的编程接口,所以Cocos2d-x具备了跨平台的可移植性。 
          
        2、相对来说,将项目移植IOS环境比较简单,如果电脑装有MAC系统只需要转一个XCode,以及一个Cocos2d-x的插件即可,然后利用插件向导新建一个项目,将待移植的工程中的.cpp和 .h以及资源文件文件复制进去编译即可。 
        另注:main.h、main.cpp、Resource.h等文件不用复制。 
          
        3、如果没有苹果电脑,那么可以考虑虚拟机,问题往往出在安装虚拟机以及在虚拟机上安装MAC系统上。但是相对来说,在虚拟机上安装MAC系统比直接在机器上安装MAC容易的多。本人亲测,在i3,8G内存笔记本上用虚拟机安装OS X Mavericks 10.9 (GM).iso,运行流畅,并且编译移植的cocos2d-x项目成功。(稍后如果有时间,会做一个教程) 
          
        4、以上是移植到IOS环境,下面介绍移植到Android环境,安卓因为涉及到Java的SDK以及NDK等内容,所以实现起来比较复杂。并且由于Cocos2d-x的版本比较多,各个版本之间的改动也比较到,所以教程不好写,最多针对某一特定版本的Cocos2d-x。 
          
        5、就我这两天的尝试可知,Cocos2d-x 2.0.4和Cocos2d-x 2.2.1库文件改动不大,在Win32下前者编写的工程可以无需修改在后者直接编译,但是移植到Android中时完全不同。前者需使用cyWin,而后者可以利用Python。就本人感觉而言,利用Python比较简单。 
          
        6、下面就来介绍如何将Win32下的Cocos2d-x项目移植到Android中,首先是用到的工具以及软件: 
        链接:  http://pan.baidu.com/s/1hq5lY2w 密码: ydxq  
          
        7、打开上述链接,显示如下: 
          
          
        8、首先,搭建Java环境: 
        (1)安装JDK(jdk-7u45-windows-x64.exe) 
        注1:根据自己的电脑选择32位或是64位版 
        注2:安装JDK的时候会同时安装对应的JRE 
          
          
          
          
          
          
          
          
          
          
          
          
        (2)配置环境变量: 
        系统变量→新建 JAVA_HOME 变量 。 变量值填写JDK的安装目录(默认是C:\Program Files\Java\jdk1.7.0_45) 
         系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(如果原值后面无分号,请添加一个分号)  
          
          
          
          
          
        完成后确定,打开CMD,键入java -version查看设置是否成功(显示如下表示环境变量设置成功): 
          
          
        9、其次,安装Python(python-2.7.5.msi): 
        因为我原先装过,所以界面如下,直接点下一步即可: 
          
          
          
          
        设置Python的环境变量: 
        默认安装在C盘: 
          
          
        系统变量→寻找 Path 变量→编辑 在变量值最后输入 C:\Python27(如果原值后面无分号,请添加一个分号) 
          
          
          
        10、解压缩adt-bundle-windows-x86_64-20131030.zip 
        (1)解压后的根目录: 
          
        (2)进入eclipse目录:  
          
        (3)双击运行eclipse.exe文件:(注:这一步需先装JDK并配置环境变量) 
          
          
        (4)新建一个Android项目,用于检测Android Eclipse开发环境: 
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        右键项目Test,Run as -> Android Application: 
          
          
        (5)如果没有创建Android虚拟机或者连接Android手机,会弹出如下提示: 
          
          
        (6)选择Yes后弹出如下界面: 
          
          
        (7)如果有Android手机,可以打开调试模式,用数据线连接到电脑(需要安装驱动,装个手机助手)。如果成功连接大豆电脑,会在Choosing a running Android device下显示,选择它点击OK就行了。 
          
        (8)如果不想连接Android手机,那么可以创建一个虚拟机,选中Launch a New Android Device: 
        单击Manager... 
         
          
        (9)弹出如下窗口,选择NEW: 
          
          
        (10)弹出新建虚拟设备窗口,添加设备名,勾选Use Host Gpu: 
          
          
        (11)OK后虚拟设备创建完成,如下: 
          
          
        (12)关闭上面的窗口,在下图窗口点击Refresh: 
          
          
        (13)选中刚创建的设备MyAndroid,点击OK: 
          
          
        (14)如果前面操作没问题的话,虚拟机就会运行,效果如下: 
          
          
          
          
          
          
        12、至此,Android的Eclipse环境搭建好了。 
          
        13、下面解压cocos2d-x-2.2.1.zip,解压后根目录(../cocos2d-x-2.2.1)文件如下: 
          
          
        14、将python.bat这个批处理程序复制到tools目录下的project-creator文件夹中: 
          
        15、右键以管理员身份运行python.bat: 
        根据提示创建一个项目: 
         
          
          
          
        16、现在进入Cocos2d-x的projects文件夹,会出现一个刚才创建的项目: 
          
          
          
          
        17、打开Eclipse,导入刚刚创建的项目cocos2dx_fighting: 
          
          
          
          
        导入刚刚创建的项目cocos2dx_fighting: 
          
          
          
          
          
          
        点击Finish后,文件列表: 
          
          
        18、我们看到刚才导入的项目还有错误,接下去继续设置。 
          
        19、 
        (1)将 
        ...\cocos2d-x-2.2.1\cocos2dx\platform\android\java\src 
        下的org文件夹整个复制到 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\src 
        目录中 
          
          
          
          
        (2)将 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\Resources 
        目录下的所有文件复制到 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\assets 
        文件夹中 
          
          
          
          
          
        20、下面再在Eclipse中配置几个项目相关的路径,预先解压NDK(android-ndk-r9c-windows-x86_64.zip): 
        (1)右键cocos2dx_fighting项目,点击Properties: 
          
        选择C/C++ Build,修改Build command:为NDK的ndk-build.cmd文件的路径: 
          
          
          
          
        (2)切换到Resource,选择Linked Resources,添加一个COCOS2DX的路径: 
          
          
          
          
          
          
          
          
        21、上面几项每新建一个项目都需要重新设置,接下来设置3个不需重复设置的变量: 
        Window -> Preferences 
          
          
        22、添加3个值:NDK_ROOT、NDK_MODULE_PATH、COCOS2DX 
          
          
        23、至此,所有配置完成,右键项目Refresh,Build project: 
          
          
          
          
          
          
        24、build的时间会有点长,我的电脑大概要5分钟,编译完成: 
          
          
        25、接下来,右键工程,Run as, Android Application: 
          
          
          
          
          
          
          
          
          
          
        26、接下去导入Win32下编写的Cocosd-x格斗游戏至Android环境: 
          
        27、将待移植项目的.h和.cpp文件复制到cocos2dx_fighting工程下的Classes文件夹下(覆盖): 
          
          
          
          
          
          
        28、将待移植项目Resources目录下的所有内容复制到 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\assets 
        目录下: 
          
          
          
        29、打开Eclipse右键工程cocos2dx_fighting -> Refresh,Project -> Build Project。此时,可以尝试Run as -> Android Application: 
          
        你会发现,还是HelloWorld那个程序的界面,因为你导入的文件根本没有编译: 
          
          
          
        30、打开Android.mk文件: 
          
          
        31、添加cpp文件: 
          
          
        32、Project -> Build Project: 
        错误信息如下: 
          
          
        33、显然是ui64不识别,修改如下(最好不要在Eclipse中打开修改,而是用EditPlus或是直接yongVS打开修改): 
        GameDefines.h中 
          
        34、修改后保存,Eclipse中Refresh,然后Build Project: 
          
          
        35、Build成功(警告可以不管),运行Run as -> Android Application: 
          
          
        36、OK,在工程的\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\bin下回生成一个cocos2dx_fighting.apk,复制到手机安装运行。(虚拟机实在启动的太慢了,另外有时会卡壳重启,就不贴图了): 
          
          
          
          
          
         
         
          
        37、上面几张图是我手机上运行的截图。 
          
        38、至此,移植成功。另外:cocos2dx_fighting.apk 

0 0