使用Laya引擎构建鸿蒙游戏

打印 上一主题 下一主题

主题 1901|帖子 1901|积分 5703

游戏适配HarmonyOS NEXT流程如下:


适配预备



  • 前往开发者官网下载最新的release版本DevEco Studio开发者工具。
  • Laya1.0:引擎IDE升级到1.8.16及以上版本
  • Laya2.0:引擎IDE升级到2.13.7及以上版本
  • Laya3.0:引擎IDE升级到3.2.3及以上版本
游戏适配

如果游戏中有针对差别平台进行适配的代码,必要先判断HarmonyOS NEXT平台并添加对应的适配代码。
  1. checkHarmonyOS() {
  2. let os = Laya.Browser.window.
  3. conch.config.getOS();
  4. return os == 'Conch-ohos';
  5. }
复制代码
导出HarmonyOS NEXT工程

以Laya2.0为例打包构建HarmonyOS NEXT工程:


  • 打开LayaAirIDE—>点击左上角LOGO图标—>工具—>app构建,如图所示:




  • 在构建项目配置界面选择最新的Native版本(当前2.13.8)、选择项目类型(ohos),如图所示:




  • 配置完成后点击开始创建可在指定的输出路径输出HarmonyOS NEXT工程项目,如图所示:




  • 使用DevEco Studio工具打开并连接装备构建hap/app运行,如图所示:


集成应用服务



  • 游戏点亮后,必要接入HarmonyOS NEXT平台体系本领(电量、振动器、网络等),为向玩家提供快捷、安全的登录、支付等功能,游戏需集成登录、支付等应用服务,此中游戏业务逻辑调用HarmonyOS NEXT体系接口的原理如下图所示:




  • Game Service Kit接入
​​



  • IAP Kit接入


调试上架



  • 配置证书签名信息,参考应用/元服务签名
  • 调试阶段:构建hap包进行调试功能验收,必要申请调试证书、注册调试装备、申请调试Profile,具体操作请拜见调试HarmonyOS应用/元服务
  • 发布阶段:构建app包提审上架,必要申请发布证书、申请发布Profile、发布HarmonyOS应用,具体操作请拜见发布应用(APP)
游戏与ArkTS接口交互

由于HarmonyOS NEXT使用的协议栈和其他体系的协议栈差别,因此游戏原有的体系适配方法在HarmonyOS NEXT平台大概不支持,必要根据当前游戏现实使用情况进行适配。


  • 在HarmonyOS NEXT工程中添加ets脚本。
  • 在ets脚本中添加必要调用的静态方法,如下示例代码:
  1. // build-profile.json5
  2. {
  3. "apiType": 'stageMode',
  4. "buildOption": {
  5. "arkOptions": {
  6. "runtimeOnly": {
  7. "sources": [
  8. "./src/main/ets/AccountDemo.ets"
  9. ]
  10. }
  11. },
  12. ...
  13. }
复制代码


  • 游戏中调用添加到HarmonyOS NEXT静态方法,如下示例会调用之前添加在AccountDemo.ets中的静态方法:
  1. // 点击登录按钮
  2. onClickLogin() {
  3. let bridge = Laya.Browser.window.PlatformClass.createClass("entry/src/main/ets/AccountDemo");
  4. bridge.callWithBack((result: string) => {
  5. bridge.callWithBack((result: string) => {
  6. // TODO 添加你的游戏逻辑
  7. }, "login");
  8. }, "gameServiceInit");
  9. }
复制代码


  • 在ArkTS代码中自动执行游戏JS脚本方法,如下示例会在游戏中执行alert('hello world')
  1. // 导入laya的库文件
  2. import laya from "liblaya.so";
  3. function arkTsFunc(): void {
  4. // 调用laya引擎方法在游戏侧执行JS脚本
  5. laya.ConchNAPI_RunJS("alert('hello world')");
  6. }
  7. export { arkTsFunc };
复制代码

原文链接:华为开发者文章

更多标题可关注:
鸿蒙游戏官方网站:已有游戏移植-鸿蒙游戏-华为开发者联盟
公开课:华为开发者学堂


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表