//预加载主游戏页面图片资源数组 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); } }