上一节跟大家介绍了win32的环境搭建和HelloWorld项目的创建。不过Cocosd-x主要是做手机游戏的引擎,win32版本的游戏除了调试,没有什么实际上的意义。接下来将为读者介绍如果将之前的项目导入到android项目中。
第一步:创建android项目
1.首先确保你的电脑安装了一下工具
java JDK
Eclipse
android SDK
android NDK
ADT
Cygwin
2.用编辑器打开游戏引擎中的create-android-project.bat(笔者用的是Notepad++)
3.修改了文件中_CYGBIN、 _ANDROIDTOOLS、_NDKROOT的路径,改为你电脑的实际路径,之后保存关闭。
4.接下来双击create-android-project.bat运行批处理文件。
5.输入项目包名,按回车键,继续输入项目名称(注意由于上一节用vs2010已经创建了CocoDDZ的项目,不能重复创建,改为CDDZ)。
6.按回车键继续,根据提示输入版本号对应的数字,笔者选择的是2对应“android-8”。再按回车键完成项目创建。
第二步:将创建的项目合并到上一节用vs2010创建的CocoDDZ的项目中。
1.完成创建后,引擎的根目录下出现了CDDZ项目。
2.打开CDDZ文件夹,复制文件proj.android到文件夹CocoDDZ目录下,如下图。proj.android代表android项目,proj.win32代表win32项目,Class存放公共的代码Resources存放公共资源。
3.然后将Resources目录中的图片资源复制到proj.android项目中的assets目录下。(如果没assets,就手动创建一个)
4.这样两个项目就合并为一个了。接下将android项目导入到Eclipse中来。
第三步:android项目导入到Eclipse中
1.打开Eclipse,选择Import...添加android项目。
2.选择路径为“引擎根目录\cocos2dx\platform\android\java”,笔者建议在“Copy project into workspace”打钩,这样将项目复制过来,如果你根据项目需要修改该项目也不会修改到引擎根目录下的项目。
3.之后按Finish,完成该操作。
4.接着用同样的方法添加CocoDDZ目录下的proj.android项目。注意这次不能在Copy project into workspace”打钩,这样一来才可以用vs2010修改项目代码,之后用Eclipse交叉编译更新项目。
5.然后点击Finish按钮完成导入。
6.这时候项目栏就出现刚刚我们创建的CDDZ项目,虽然还带着红叉。没有关系,接下来很快就可以解决。
7.右键CDDZ项目选择Properties。
8.选择Android,在Library中点击Add,选择libcoco2dx,只点击ok。
9.在Application.mk文件的末尾中添加APP_PLATFORM := android-8。至此成功将项目导入到Eclipse中。
第四步:设置自动交叉编译配置
1.右键CDDZ项目选择Properties,选择Builders,点击New...之后现在Program点击OK。
2.在Main的Location中点击Browse File System...打开Android-NDK根目录下的ndk-build.cmd。
3.在Working Directory中点击Browse Workspce... 选择CDDZ项目。
4.在Refresh中的Refresh resources upon completion 中打钩,其他不用管。
5.在Environment中点击New...,Name填NDK_MODULE_PATH,Value填F:\cocos2dx\cocos2d-2.1rc0-x-2.1.2;F:\cocos2dx\cocos2d-2.1rc0-x-2.1.2\cocos2dx\platform\third_party\android\prebuilt (F:\cocos2dx\cocos2d-2.1rc0-x-2.1.2为笔者的引擎根目录)
6.在Build Options的During auto builds和Specify working set of relevant resources中打钩
7.点击Specify Resources...选择CDDZ项目下的jni点击Finish完成配置。
8.这时候项目开始自动交叉编译,第一次会比较慢一点,请耐心等候,以后修改项目,只交叉编译修改那一部分的代码,会快速很多。
9.交叉编译完成后,我们可以用模拟器运行项目,笔者用的是android4.0.3,记住必须钩上Use Host GPU,不然模拟器运行项目将出现黑屏情况。
10.成功运行HelloWorld,读者可以按ctrl+11将模拟器切换为横屏。(不过笔者强烈建议读者开发游戏的时候用真机调试,android的模拟器就是个渣,你懂的)
第五步:在vs2010中修改项目代码,在Eclipse中交叉编译更新项目
1.接下来,我们打开引擎根目录下的cocos2d-win32.vc2010.sln。
2.修改CocoDDZ项目中HelloWorldScene.cpp文件中的CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);
为CCLabelTTF* pLabel = CCLabelTTF::create("Hello World417", "Arial", 24);然后保存文件。
3.在Eclipse中选择clean... 然后选择CDDZ项目点击OK,清理项目并自动交叉编译。
4.交叉编译完成后运行项目,发现项目确实更新了。
(大家刚开始可以能会觉得导入到android项目比较繁琐,其实熟悉后的话,还是可以很快的,下一节将为大家介绍如何导入到ios项目上,相比较起来,ios会方便很多)