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

前端之家收集整理的这篇文章主要介绍了Cocos2d-x项目移植(Win32至IOS,Win32至Android)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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内存笔记本上用虚拟机安装OSXMavericks10.9(GM).iso,运行流畅,并且编译移植的cocos2d-x项目成功。(稍后如果有时间,会做一个教程)
4、以上是移植到IOS环境,下面介绍移植到Android环境,安卓因为涉及到Java的SDK以及NDK等内容,所以实现起来比较复杂。并且由于Cocos2d-x的版本比较多,各个版本之间的改动也比较到,所以教程不好写,最多针对某一特定版本的Cocos2d-x。
5、就我这两天的尝试可知,Cocos2d-x2.0.4和Cocos2d-x2.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:\ProgramFiles\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项目,用于检测AndroidEclipse开发环境:
右键项目Test,Runas->AndroidApplication:
(5)如果没有创建Android虚拟机或者连接Android手机,会弹出如下提示
(6)选择Yes后弹出如下界面:
(7)如果有Android手机,可以打开调试模式,用数据线连接到电脑(需要安装驱动,装个手机助手)。如果成功连接大豆电脑,会在ChoosingarunningAndroiddevice下显示,选择它点击OK就行了。
(8)如果不想连接Android手机,那么可以创建一个虚拟机,选中LaunchaNewAndroidDevice:
单击Manager...
(9)弹出如下窗口,选择NEW:
(10)弹出新建虚拟设备窗口,添加设备名,勾选UseHostGpu:
(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,修改Buildcommand:为NDK的ndk-build.cmd文件的路径:
(2)切换到Resource,选择LinkedResources,添加一个COCOS2DX的路径:
21、上面几项每新建一个项目都需要重新设置,接下来设置3个不需重复设置的变量:
Window->Preferences
22、添加3个值:NDK_ROOT、NDK_MODULE_PATH、COCOS2DX
23、至此,所有配置完成,右键项目Refresh,Buildproject:
24、build的时间会有点长,我的电脑大概要5分钟,编译完成:
25、接下来,右键工程,Runas,AndroidApplication:
26、接下去导入Win32下编写的Cocosd-x格斗游戏至Android环境:
27、将待移植项目的.h和.cpp文件复制到cocos2dx_fighting工程下的Classes文件夹下(覆盖):
28、将待移植项目Resources目录下的所有内容复制到
目录下:
29、打开Eclipse右键工程cocos2dx_fighting->Refresh,Project->BuildProject。此时,可以尝试Runas->AndroidApplication:
你会发现,还是HelloWorld那个程序的界面,因为你导入的文件根本没有编译:
30、打开Android.mk文件
31、添加cpp文件
32、Project->BuildProject:
错误信息如下:
33、显然是ui64不识别,修改如下(最好不要在Eclipse中打开修改,而是用EditPlus或是直接yongVS打开修改):
GameDefines.h中
34、修改后保存,Eclipse中Refresh,然后BuildProject:
35、Build成功(警告可以不管),运行Runas->AndroidApplication:
36、OK,在工程的\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\bin下回生成一个cocos2dx_fighting.apk,复制到手机安装运行。(虚拟机实在启动的太慢了,另外有时会卡壳重启,就不贴图了):
37、上面几张图是我手机上运行的截图。

38、至此,移植成功。另外:cocos2dx_fighting.apk


原文来自:http://www.58player.com/blog-2388-102251.html

猜你在找的Cocos2d-x相关文章