赞
踩
现在市面上很多app有游戏中心功能,最早的有微信小游戏和QQ小游戏,再后来像bilibili、喜马拉雅、爱奇艺、比心等等应用中也加入了游戏中心模块。本篇文章将介绍如何上手搭建cocos creater游戏容器,先来看看效果:
成功后,用Android Studio打开文件夹里生成的proj项目,并运行该项目到手机上,这里游戏资源加载的是proj同级目录assets,后续,我们会将assets压缩包zip存放在我们服务器,达到用户下载解压后加载启动游戏的目的。
为了后续游戏容器能加载本地filePath下的游戏资源,需要修改JniCocosActivity.cpp里的Java_com_cocos_lib_CocosActivity_onCreateNative方法
创建module,包名为com.cocos.lib(为了和.so文件里保持一致,不然无法调用c方法)
module的清单文件加
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
将/Applications/CocosCreator/Creator/3.1.1/CocosCreator.app/Contents/Resources/resources/3d/engine-native/cocos/platform/android/java/libs拷贝到module/libs下
module下build.gradle添加
implementation fileTree(include: ['*.jar'], dir: 'libs')
// 加一个filePath参数 private native void onCreateNative(Activity activity, AssetManager assetManager, String obbPath, int sdkVersion, String filePath); // 外部传入游戏资源路径 protected String filePath() { return ""; } @Override protected void onCreate(Bundle savedInstanceState) { ... onCreateNative(this, getAssets(), getAbsolutePath(getObbDir()), Build.VERSION.SDK_INT, filePath()); } @Override public void onBackPressed() { super.onBackPressed(); System.exit(0); }
自此,我们游戏容器制作完毕,我也将该篇的游戏容器module传到了jitpack,可以直接使用:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.qq326646683:cocos-creator-android:1.0.0'
}
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
class CocosGameActivity: CocosActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun filePath() = intent.getStringExtra("path")
}
<application>
<meta-data
android:name="android.app.lib_name"
android:value="cocos" />
<activity android:name=".CocosGameActivity" android:process=":cocos"/>
cocos游戏和android通信,因为牵扯到多进程,通信变的麻烦,后续计划将这部分内容封装在module library,方便使用者调用
完结,撒花
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。