//預加載主游戲頁面圖片資源數組 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); } }