
使用Cocos Creator引擎构建鸿蒙游戏 原创
游戏HarmonyOS NEXT适配流程如下:
image.png
适配准备:
游戏适配
- 升级引擎版本。Cocos Creator 2.x 游戏升级到 Cocos Creator 2.4.15及以上。
Cocos Creator 3.x 游戏升级到 Cocos Creator 3.8.6(正式版本若发布,请至Cocos官方论坛下载社区版本)及以上。
如需定制引擎,请参考Cocos Creator 2.x指导文档,Cocos Creator 3.x指导文档定制引擎。 |
- 增加HarmonyOS NEXT平台的分支业务处理。
如果涉及引擎版本升级,需要解决各引擎升级兼容性问题,比如依赖库版本升级、API接口变更等,确保游戏代码没有编译报错。
例如:
if(cc.sys.os == cc.sys.OS_ANDROID){
// 游戏逻辑
}
修改为:
if(cc.sys.os == cc.sys.OS_ANDROID || cc.sys.os == cc.sys.OS_OPENHARMONY){
// 游戏逻辑
}
导出HarmonyOS NEXT工程
|
- 构建HarmonyOS工程。
a.打开构建发布面板
NEXT
c.选择合适的屏幕朝向
NEXT工程
NEXT工程。
NEXT工程相对游戏项目路径为: build\jsb-link\frameworks\runtime-src\proj.harmonyos-next。
NEXT工程相对游戏项目路径为: native\engine\harmonyos-next。
JS引擎
cke_3463.png
Cocos Creator提供了三种JS引擎给开发者,分别是方舟引擎,V8引擎和JSVM。在方舟引擎中,游戏的JavaScript代码和HarmonyOS NEXT的ArkTs均运行在方舟引擎环境中。V8引擎和JSVM中,游戏JS代分别运行在V8引擎和JSVM的环境中,而HarmonyOS NEXT的ArkTs则运行在方舟引擎上,运行环境不同所带来的差异就是游戏JS和HarmonyOS NEXT ArkTs的执行环境的差异。在方舟引擎中,JS和ArkTs在同一个JS运行环境,因此全局对象是可以访问到的;在V8和JSVM引擎下,游戏的JS分别运行在V8和JSVM环境中,因此需要通过C++去桥接,这里Cocos官方提供了封装好的接口用于接口通信,这块内容将在下一节的内容中展开说明。当前的JS引擎关于热更新的方案如表格所示,方舟引擎暂时不支持热更新,V8引擎和JSVM支持热更新,因此在选择JS引擎时推荐选择JSVM。
JS引擎 | JIT | 热更新 |
方舟 | 暂不支持 | 暂不支持 |
V8 | 不支持 | 支持 |
JSVM | 支持 | 支持 |
HarmonyOS NEXT工程结构说明
cke_185.png
cke_186.png
集成应用服务
游戏服务: 官方指导文档,应用内支付:官方指导文档
参考游戏服务和应用内支付接入SDK,其中游戏与HarmonyOS NEXT ArkTs如何交互请参见游戏与HarmonyOS NEXT ArkTS接口交互。
- 游戏服务Kit接入
cke_187.png
- 支付Kit接入
image.png
调试上架
- 配置证书签名信息,参考应用/元服务签名
- 调试阶段:构建hap包进行调试功能验收,需要申请调试证书、注册调试设备、申请调试Profile,具体操作请参见调试HarmonyOS应用/元服务
- 发布阶段:构建app包提审上架,需要申请发布证书、申请发布Profile、发布HarmonyOS应用,具体操作请参见发布应用(APP)
更多问题可关注:
鸿蒙游戏官方网站:已有游戏移植-鸿蒙游戏-华为开发者联盟
公开课:华为开发者学堂
