
回复
游戏适配HarmonyOS NEXT流程如下:
image.png
如果游戏中有针对不同平台进行适配的代码,需要先判断HarmonyOS NEXT平台并添加对应的适配代码。
checkHarmonyOS() {
let os = Laya.Browser.window.
conch.config.getOS();
return os == 'Conch-ohos';
}
以Laya2.0为例打包构建HarmonyOS NEXT工程:
cke_197.png
cke_198.png
cke_199.png
cke_200.png
image.png
image.png
image.png
由于HarmonyOS NEXT使用的协议栈和其他系统的协议栈不同,因此游戏原有的系统适配方法在HarmonyOS NEXT平台可能不支持,需要根据当前游戏实际使用情况进行适配。
// build-profile.json5
{
"apiType": 'stageMode',
"buildOption": {
"arkOptions": {
"runtimeOnly": {
"sources": [
"./src/main/ets/AccountDemo.ets"
]
}
},
...
}
// 点击登录按钮
onClickLogin() {
let bridge = Laya.Browser.window.PlatformClass.createClass("entry/src/main/ets/AccountDemo");
bridge.callWithBack((result: string) => {
bridge.callWithBack((result: string) => {
// TODO 添加你的游戏逻辑
}, "login");
}, "gameServiceInit");
}
// 导入laya的库文件
import laya from "liblaya.so";
function arkTsFunc(): void {
// 调用laya引擎方法在游戏侧执行JS脚本
laya.ConchNAPI_RunJS("alert('hello world')");
}
export { arkTsFunc };
更多问题可关注:
鸿蒙游戏官方网站:已有游戏移植-鸿蒙游戏-华为开发者联盟
公开课:华为开发者学堂