原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12150907 整个游戏是出炉了,但是只在PC上玩很不过瘾,触屏的体验是鼠标没办法达到的。所以这节我们把它移植到Android平台上。当然这个游戏太微不足道了,所以我也不指望它能为我赚什么钱,现在考虑些就图样图森破了。这里的广告只是纯技术上的研究。做游戏,浮躁不得。
1.移植到Android平台其实这些我在http://blog.csdn.net/jackystudio/article/details/11516435一文中就有讲过了,这里就再重复一遍吧。Cygwin和Eclipse自行准备好吧。
1.1.配置Android项目(1)点击已配置好的create-android-project.bat,创建JackyAirplane的安卓项目。配置方式创建请看上文。 (2)Win32项目下的Classes里面的所有源文件和头文件都放进Android项目中的Classes。如果你写的源文件和头文件是放在proj.win32中的,也把它们拷出来到Classes。 (3)进入proj.android,把音效,字体,图片这些资源拷入asset文件夹中。 (4)进入proj.android,res下各目录存放有游戏的图标,你可以进行修改。 (5)进入proj.android,jni→helloworld目录下有main.cpp,这是跨平台的入口,也就是jni层相关。找到这个函数Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit,修改如下内容。
[cpp] view plaincopy
[cpp] view plaincopy
1.2.交叉编译打开Cygwin,把proj.android中的build-native.sh拖到Cygwin中,执行编译。正常编译成功后,你可以在\proj.android\libs\armeabi目录下找到libgame.so。这就是整个游戏的内容被打包进去了。.so是linux下的动态链接库,相当于windows下的.dll。
1.3.导入android项目,生成apk打开Eclipse,File-Import-Android-Existing Android code to workspace。选择刚才的proj.android。导入。Eclipse工作区就可以看到这个游戏的android项目了。啥都不用改了,直接编译成.apk就可以了。 注意:AVD不支持openGLES2.0,所以必须用真机调试。
2.广告植入现在这类广告多如牛毛。选择哪家我也就不多说了,免得有广告嫌疑。如何植入广告这里我也只能简单的说下。因为实际植入还是很麻烦的,毕竟广告商的SDK不一样,还涉及到jni技术,java基础,Android开发基础,这些都要有了解。 这里我把广告分为两类,这部分我也算初学,如果有什么错误,烦请指出。。。
2.1.Android广告和cocos2d-x游戏无交互这类比如开场插屏广告之类的。 这里广告和游戏没有交互,也就是说它和游戏的相对独立的,大体步骤是: (1)单独的做出一个带有广告LoadingActivity和对应布局,然后在AndroidManifest.xml中把启动Activity指向它。 (2)我们看一下JackyActivityActivity(cocos2d-x自动帮你生成的):
[cpp] view plaincopy
[cpp] view plaincopy
[cpp] view plaincopy
2.2.Android广告和cocos2d-x游戏有交互这类比如过场广告,暂停广告之类的。 这里处理起来就比无交互的麻烦多了。其实也就是要在C++代码中调用JavaAPI,所以采用了Jni技术。 (1)Java代码:给JackyAirplane添加一个静态广告成员变量。
[java] view plaincopy
(2)Java代码:添加静态成员方法,用来显示广告。
[java] view plaincopy
(3)C++代码:通过jni调用showAD()。
[cpp] view plaincopy
好了,微信飞机大战讲解到这里就全部结束了。感谢CCTV什么的就不来了。希望这一系列的教程能够帮助您开启cocos2d-x游戏的快乐旅途! |
|
来自: rockljl > 《cocos2d开发》