Cocos2d-x项目移植(Win32至IOS,Win32至Android)
发布时间:2020-12-14 21:43:12 所属栏目:百科 来源:网络整理
导读:1、前面的三个Cocos2d-x小游戏都是在VS中编写的,但是这些游戏实际上应该运行在手机或是平板等手持设备上。这就涉及到一个移植的问题。因为Cocos2d-x是由C++编写的,而IOS和Android又都有C++的编程接口,所以Cocos2d-x具备了跨平台的可移植性。 2、相对来说
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:ProgramFilesJavajdk1.7.0_45) 系统变量→寻找Path变量→编辑在变量值最后输入%JAVA_HOME%bin;%JAVA_HOME%jrebin;(如果原值后面无分号,请添加一个分号) 完成后确定,打开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.1cocos2dxplatformandroidjavasrc 下的org文件夹整个复制到 ...cocos2d-x-2.2.1projectscocos2dx_fightingproj.androidsrc 目录中 (2)将 ...cocos2d-x-2.2.1projectscocos2dx_fightingResources 目录下的所有文件复制到 ...cocos2d-x-2.2.1projectscocos2dx_fightingproj.androidassets 文件夹中 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.1projectscocos2dx_fightingproj.androidbin下回生成一个cocos2dx_fighting.apk,复制到手机安装运行。(虚拟机实在启动的太慢了,另外有时会卡壳重启,就不贴图了): 37、上面几张图是我手机上运行的截图。 38、至此,移植成功。另外:cocos2dx_fighting.apk
原文来自:http://www.58player.com/blog-2388-102251.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |