新建UI

2019-11-11  本文已影响0人  沉麟

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;//确定资源加载完成
    }
上一篇 下一篇

猜你喜欢

热点阅读