LayaBox怎么預加載資源


 //預加載主游戲頁面圖片資源數組
        var res:Array<any> = [ 
         {url:"res/atlas/ui.json",type:Laya.Loader.ATLAS},
         {url:"res/atlas/ui.png",type:Laya.Loader.IMAGE},  //數據類型和資源地址
         {url:"res/atlas/bg.mp3",type:Laya.Loader.SOUND},
         {url:"res/atlas/hit.wav",type:Laya.Loader.SOUND}
        ];

          //設置progress Handler的第4個參數為true,根據加載文件個數獲取加載進度
          Laya.loader.load(res,null,Laya.Handler.create(this,this.onProgress,null,false));

    }

代碼如上,首先我們需要用一個數組變量來保存對應資源的url地址和類型type,然后調用Laya.loader.load()。

Laya.loader.load的參數如下:

  url:String — 地址
 
  type:String (default = null) — 類型,如果為null,則根據文件后綴,自動分析類型。
 
  cache:Boolean (default = true) — 是否緩存數據。
 
  group:String (default = null) — 分組。
 
  ignoreCache:Boolean (default = false) — 是否忽略緩存,強制重新加載

例子里面有一個回調函數

Laya.Handler.create(this,this.onProgress,null,false)

表示資源加載完畢以后會執行里面的onProgress方法

onProgress要自己新建,例如下面:

//主游戲界面加載完成后的回調函數
    public onProgress(pro:number):void{
            //console.log("加載了總文件的:"+pro*100+"%");
            this.progressBar.value=pro;
            if(this.progressBar.value==1)
            {
                //游戲主頁面資源加載完成后執行這里的代碼
                //console.log("游戲加載完成咯!!");
                //延遲1秒再顯示游戲主頁面
                this.progressBar.value=pro;
                Laya.timer.once(1000,this,this.onLoad);
                //this.progressBar.visible = false;
               // laya.media.SoundManager.playMusic("res/atlas/bg.mp3",0);       
            }

    }

 


免責聲明!

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



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