cocos2d-x 游戏嵌入到ios/android应用内部 - android篇

来源:互联网 发布:青天白日t恤 淘宝 编辑:程序博客网 时间:2024/05/20 12:48

最近做了一个项目,需要将游戏内置在ios/android的内部,就类似于游戏大厅的模式,所以其实整个应用是一个app,只是其中某个功能点进去,就进入了我们熟悉的界面。

因为cocos2d-x本身就是基于双平台的应用去实现游戏的逻辑,所以其实要改的只是一些配置而已,但是虽然如此,在开发过程中还是遇到了很多问题,现在将此问题记录下来,希望各位道友以后做此类游戏时有此方面的准备。


本篇只写android篇,ios的嵌入请看下一篇 (本篇编译平台为MAC,不过和windows的步骤差不多)


首先cocos2d-x 和android的环境搭建一键略过。

本示例是以cocos2d-x 3.0为例子


第一步: 创建工程

创建好你的cocos2d-x工程,然后用eclipse创建一个空的android工程(工程名暂定为 TestAndroid)


第二步:编译 

编译 cocos2d-x 下的 pro-android项目, 打开终端,cd 到cocos2d-x的android目录下 ,编译执行 ./build_native.py ,等一小段时间编译生成后,就会在libs/armeabi目录生成 libcocos2dcpp.so


第三步: 资源复制

1、 把刚刚编译成功的so文件的目录复制,即 libs/armeabi/libcocos2dcpp.so,然后粘贴到TestAndroid目录下

2、把cocos2d-x的资源目录的所有文件拷贝到TestAndrodi/assets目录下

3、把cocos2d-x目录下的 cocos2d/cocos/2d/platform/android/java/src 的org目录拷贝到TestAndroid/src目录下


第四步:配置 ( 本步骤的所有操作都在TestAndroid工程中)

1、在MainActivity.java的同级目录创建一个新Activity文件,暂定为GameActivity,并且继承Cocos2dxActivity

2、在AndroidManifest.xml 添加对新Activity的配置,添加注册新的GameActivity,下面是添加后的文件



3、在activity_main.xml布局里添加一个button,然后在MainActivity里添加事件的跳转

void GotoGameActivity(){

Intent intent =new Intent(this,GameActivity.class);

startActivity(intent);

}

到这里,基本上已经完成,能够正常进入游戏了,那么问题来了,cocos2d-x工程里的HelloWolrd里的那个退出按钮原来是退出游戏,怎么才能让它仍然返回当前应用呢,接着看


第五步:结束游戏时返回到应用

有点安卓基础的会发现,游戏内部点退出后,是返回到安卓里的一个方法了,经过层层调用,最终来到了Cocos2dxHelper.java下的terminateProcess方法,于是我们将方法内容换成 ((Activity)sContext).finish(); 即


大功告成,已经能正常返回界面。

如果留言的人多的话,我就将源码地址帖出来

ios的嵌入请浏览下一篇




0 0