现在市面上很多app有游戏中心功能,最早的有微信小游戏和QQ小游戏,再后来像bilibili、喜马拉雅、爱奇艺、比心等等应用中也加入了游戏中心模块。本篇文章将介绍如何上手搭建cocos creater游戏容器,先来看看效果:
在Android Studio安装NDK,我这里安装的是21.1.6352462,目前为止比较稳定
在CocosDashboard新建HelloWorld项目并打开运行,我这里用的3.1.1版本
打开CocosCreator菜单栏偏好设置,在外部程序栏中设置Android NDK和Android SDK路径
在CocosCreator菜单栏选择项目-构建发布,选择发布平台:安卓,点击构建,等大概几分钟
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
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"/