今天折腾了3个多小时终于把这蛋疼的玩意搞定了,写个日志记录下,省的以后又来琢磨一遍。在进行移植前,cocos2d-x Android开发环境必须已经搭建好,至于怎样搭建,自己百度。环境搭建好以后,首先说下win下的cocos2d-x游戏开发。第一步:进入cocos2d-x(我使用的是cocos2d-x-2.1.4)安装目录toolsproject-creator,如下图所示: 执行py脚本(python安装以及PATH变量配置,请自行百度),依次输入WIN VS开发环境下的解决方案名称以及安卓工程名称,如下图所示: 回车执行,如下图所示即工程创建成功。 (上图是我自己将路径进入,工程名称输入以及py脚本的执行,写到了一个bat里面,cocos2d自带的py脚本执行完后,貌就直接退出窗口了。)工程新建OK后,进入cocos2d-x下的projects目录下,找到刚才的工程名TEST,进入该目录,其内容如下:(2.1.4比1.0.1好多了,这个目录结构一看就节省好多工作量,1.0.1还需要手动将源代码文件和资源文件分别拷到Classes和Resource里)其中Classes:存放cpp,h文件,所有游戏相关的文件源文件都存放在这个目录里,Main文件除外;Resources:存放游戏使用到的媒体资源,图片,声音,动画什么的;proj.XXX:对应平台的工程文件。在这里我主要用proj.Win以及proj.android。 工程新建OK,接下来就进行编辑,其中WIN我使用的开发环境是VS,进入proj.Win目录,双击那个的解决方案图标,就进入VS对该工程的编辑状态;进入后,首先生成一次解决方案,这个过程一般需要分钟左右,然后编写相应文件(注意新增的源代码文件一定要存放在Classes目录下)。然后调试什么的就是那么回事,这里就不啰嗦了。WIN下的开发搞定后, 移植到Android平台时,生成so文件有两种方式,一种是用cygwin,一种是在Eclipse下配置ndk来搞。这两种方式各有优劣吧,但是如果以后C相关部分不想使用VS开发,转而使用Eclipse开发时,用第二种方式很方便。废话不说,说下怎么搞吧。第一步,也是最关键的一步修改Android.mk文件,这个文件修改不好的话,你这个工程无论如何都通不过编译。其修改主要有:引入相关的CPP文件,如下图所示: 一定要使用相对路径来引入文件,本来在2.0以前版本,底下那些库引用都要自己来写的,不过现在官方已经写好了,直接用就好,不过声音引擎在用的时候,貌有问题,这个问题1.0.1版本的我没搞定,2.1.4的还没有试验,这个有待后续搞定。LOCAL_MODULE==libLOCAL_MODULE_NAME==JAVA文件中加载的库名,这个关系必须城满足,不然即使so文件生成成功,真机测试的时候依然会报so文件找不到的FC错误。(2.0以后的cocos2d-x不支持模拟器调试)第二步:1、使用cygwin来生成so文件 使用cygwin生成so文件的话,不用先打开eclispe,打开cygwin进入所在工程目录,如下图所示:然后执行./build_native.sh脚本(注意使用ctgwin必须更改create_android.bat脚本里的CYGWIN和NDK的设置信息)执行成功后,会在proj.android下多出libs以及obj两个目录,其中libs下面存放so文件,obj存放二进制文件。2、使用EclipseNDK来生成so文件打开Eclipse,导入该工程,然后右键--属性--Builders,先勾掉CDT Builder,然后new-program新建一个构建配置。如下图环境设置的NDK_MODULE_PATH设置为:D:jacocos2d-x-2.1.4cocos2d-x-2.1.4;D:jacocos2d-x-2.1.4cocos2d-x-2.1.4cocos2dxplatformthird_partyandroidprebuilt根据自己实际的cocos2d-x安装目录更改配置完成后,点击Finsh,然后clean下工程,就会自动进行so文件编译,编译完后,刷新工程会多出libs,obj两个目录,这时SO文件编译就OK了第三步 真机调试cocos2d-x 2.0以后貌不支持模拟器调试了,所以得用真机上。在调试之前,先将资源文件拷到安卓工程的asserts目录下,然后右键run as就OK了。 真机运行截图:
推荐整理分享cocos2d-x win32开发移植到Android平台(cocos2d-x教程),希望有所帮助,仅作参考,欢迎阅读内容。
![cocos2d-x win32开发移植到Android平台(cocos2d-x教程)](https://www.jiuchutong.com/image/20240129/1706503196.jpg)
文章相关热门搜索词:cocos2dx4.0入门,cocos2dx用什么ide,cocos2dx4.0教程,cocos2dx4.0教程,cocos2dx4.0教程,cocos2dx 开发环境,cocos2d开发app,cocos2dx启动流程,内容如对您有帮助,希望把文章链接给更多的朋友!
java使用Iterator迭代出现"java.uitl.ConcurrentModificationException"错误原因及解决方法概述 最近在模仿着写一个雷电游戏,其中有一段源代码是这样的:for(intj=0;jenemys.size();j++){Enemyene=enemys.get(j);if(ene.yheight){ene.draw(canvas,x);}else{enemys.remove(ene);}}而
Android游戏源码的分析、疑问与交流 最近在eoe下了一个雷电游戏源码来看看,想模仿着自己写一个来着。但看着看着,发现里面包含的内容确实是博大精深。如果你也在看这个代码或是任
Android游戏制作退出框遇到的问题:object not locked by thread before wait()和Cant create handler inside thread 目标效果:在生命小于0时,出现游戏结束画面,然后画面停顿1.5s后显示弹出框问是继续还是退出。我在制作工程中出现问题有两:问题1:java.lang.Illegal