
使用Cocos 2d-x引擎构建鸿蒙原生游戏 原创
Cocos 2d-x引擎HarmonyOS NEXT适配工作主要集中在下图所示的Cocos2d C++ Engine,C++ APIs,Lua Engine,Lua binding,JS VM(SpiderMonkey),JS Binding、Native Platform(OpenHarmony平台)等模块以及三方库适配上。
cke_8034.png
主要模块
模块 | HarmonyOS适配工作 |
平台配置 | 添加HarmonyOS NEXT平台宏定义。 |
Cocos 2d-x核心C++代码的适配 | 参考相应引擎HarmonyOS NEXT化版本进行合入适配。主要包括audio、base、platform等模块适配。 |
Lua引擎的适配 | 参考相应引擎HarmonyOS NEXT化版本对Lua脚本进行合入适配(Lua语言工程涉及)。 |
JS引擎的适配 | 参考相应引擎HarmonyOS NEXT化版本对JS脚本进行合入适配(JS语言工程涉及)。 |
Cocos 2d-x依赖的部分三方开源库的适配 | 游戏引擎使用三方库若无特殊定制,可以参考相应引擎HarmonyOS NEXT化版本进行合入,否则需要使用HarmonyOS NEXT NDK重新编译。 |
Cocos 2d-x对接系统接口的HarmonyOS适配 |
|
游戏HarmonyOS NEXT适配流程
cke_21717.png
准备工作
- 访问Cocos2d-x的GitHub页面 ,选择合适的HarmonyOS NEXT版本引擎分支,可以通过git clone命令来获取。
- 获取Cocox2d-x引擎后,如果需要获取git子模块,可以在项目的根目录下运行以下命令,这个命令会递归地初始化并更新项目中所有的git子模块。
git submodule update --init --recursive
如果只想更新特定的子模块,可以进入到该子模块所在的目录,然后运行以下命令:
git submodule update –init
- 根据external/config.json配置到GitHub页面下载源码对应三方库。
- 依据游戏使用语言(C++/Lua/JS)运行引擎相应样例工程,验证引擎。
引擎代码适配
将对应引擎版本中HarmonyOS NEXT化相关代码增量合入开发者游戏引擎,主要涉及如下:
- 增加HarmonyOS NEXT平台宏定义。
- audio、base、platform等模块涉及平台分支的部分做HarmonyOS NEXT化适配。
- lua-bindings/spidermonkey脚本适配(Lua工程、JS工程涉及)。
- HarmonyOS平台三方库。
- CMakeList中添加新增文件及三方库目录路径、链接HarmonyOS NEXT平台三方库及系统库等。
- 游戏语言(C++/Lua/JS)相应引擎样例工程拷贝到项目工程下(通常与其他平台同一目录),工程结构如下:
cke_195.png
游戏代码适配,编译构建版本包
对游戏代码涉及平台分支的部分做HarmonyOS NEXT化适配。
- 修改HarmonyOS项目工程下的CMakeList,主要涉及路径及资源复制的修改,根据需要将游戏项目中的资源文件(如图片、音频、字体等)复制到HarmonyOS NEXT项目的rawfile文件中:
file(GLOB cppTestresFiles "${COCOS2DX_ROOT_PATH}/samples/Cpp/TestCpp/Resources/*")
file(COPY ${cppTestresFiles} DESTINATION ${res_raw_folders})
- 根据Cocos引擎的变化,对游戏涉及平台分支的部分进行相应的调整和修改。
- 配置签名信息后,使用DevEco Studio开发者工具编译项目,并在HarmonyOS NEXT设备上进行测试,点亮游戏。
NEXT的官方文档等,以获取更详细的指导和支持。比如在此过程中可能会遇到屏幕尺寸、分辨率等适配问题,可以根据HarmonyOS NEXT平台的特性,对相关参数进行调整和优化,以保证游戏在HarmonyOS NEXT设备上的最佳效果。 |
接入系统能力和游戏服务
游戏点亮后,需要接入HarmonyOS NEXT平台系统能力(电量、振动器、网络等),为向玩家提供快捷、安全的登录、支付等功能,游戏需集成登录、支付等应用服务,其中游戏业务逻辑调用HarmonyOS NEXT系统接口的原理如下图所示:
cke_30662.png
集成应用服务的原理如下图所示:
- Game Service Kit接入
cke_198.png
- IAP Kit接入
cke_199.png
游戏上架
- 配置证书签名信息,参考应用/元服务签名
- 调试阶段:构建hap包进行调试功能验收,需要申请调试证书、注册调试设备、申请调试Profile,具体操作请参见调试HarmonyOS应用/元服务
- 发布阶段:构建app包提审上架,需要申请发布证书、申请发布Profile、发布HarmonyOS应用,具体操作请参见发布应用(APP)
更多问题可关注:
鸿蒙游戏官方网站:已有游戏移植-鸿蒙游戏-华为开发者联盟
公开课:华为开发者学堂
