1.设置laya模式为分离模式F9---场景设置---发布模式---分离模式
laya分离模式.PNG
2.新建View页面/场景Game,相当于一个UI视窗
View.PNG
3.点击F12发布UI,laya会在ui/layaMaxUI脚本中生成发布的场景并生成对应UI名称
export module ui.Views {
export class GameUI extends View {
public startBtn:Laya.Button;
constructor(){ super()}
createChildren():void {
super.createChildren();
this.loadScene("Views/Game");
}
}
REG("ui.Views.GameUI",GameUI);
}
4.根据名称GameUI,建立对应脚本,一般脚本名为对应UI名称
5.脚本继承如下,IBaseUI接口是自己写的UI接口,方便UIMgr管理UI,注意:Laya.ClassUtils.regClass("GameUI", GameUI);每个UI脚本都要注册,方便laya识别,将脚本GameUI拖拽至对应View窗口的runtime一栏即可
import { ui } from "../../../ui/layaMaxUI";
import IBaseUI from "../IBaseUI";
export default class GameUI extends ui.Views.GameUI implements IBaseUI {
isLoaded: boolean;//判断UI资源是否加载完成
onShow(aprams: any) {//资源加载完成显示UI时自动调用方法
// throw new Error("Method not implemented.");
}
onHide(callback?: Function) {
// throw new Error("Method not implemented.");
}
}
Laya.ClassUtils.regClass("GameUI", GameUI);
runtime.PNG
在Game视窗里面的节点,如果其属性窗口var一栏命名后F12发布,可以直接在脚本里面拿到节点this.(var的命名)
在GameUI里面需要判断资源是否加载完成:
onEnable() {
this.isLoaded = true;//确定资源加载完成
}
网友评论