LayaBox在使用removeSelf()方法移除場景的時候應該注意什么


程序入口存放每個ui界面的對象(這里有三個)

// 程序入口
class GameMain{
    public static mainUI:MainUI;       //用於存放游戲主頁ui的成員屬性
    public static secondUI:SecondUI;   //保存第二頁ui
    public static thirdUI:ThirdUI;     //保存第三頁ui
    private group:Array<number> = [];    //用於存放選中box的引索
    private allData:Array<any>;   //用於存放股票數據的數組
    private btnState:boolean = true;           //全選和取消全選按鈕的狀態
    private dataSource: Array<any> = []; //存儲list中的每個box

這里的三個UI成員屬性都是public static屬性的,方便全局調用

下面是第三頁ui的操作

class ThirdUI extends ui.ThirdUI{
    constructor(){
        super();
        this.bingoAni.url = "../laya/assets/ui/output/bingo_ani.swf";
        this.bingoLogo.skin = "../laya/assets/ui/bingoLogo.png";
        this.return.skin = "../laya/assets/ui/return.png";
        this.return.on(Laya.Event.CLICK,this,this.onReturn);  //點擊首頁的我要申購按鈕切換到求神的頁面
    }

        //點擊恭喜中簽觸發下面的事件
        private onReturn():void{
            //console.log("恭喜中簽!!");
            this.removeSelf();      //移除當前(第三頁)
            GameMain.mainUI.removeSelf();  //移除第一頁
            GameMain.secondUI.y = -60;
            Laya.stage.addChild(GameMain.secondUI);
        }
}

這里是一個返回上一頁的例子,注意如果要removeSelf()其他頁面,顯示其中一個頁面的話,必須要移除徹底,即除開要顯示的頁面意外,其他所有的頁面都要進行removeSelf()的操作,不能有漏,不然再addChild()回來的時候會報錯。例如這里,我要顯示第二頁,那么我把第一和第三頁都remov掉了,只addChild第二頁。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM