首页 > 代码库 > Egret的config加载类,支持多个文件加载
Egret的config加载类,支持多个文件加载
ResUtils.ts
/** * Created by yangsong on 15-2-11. * 资源加载工具类, * 支持多个resource.json文件加载 */ class ResUtils { private static instance:ResUtils; private _configs: Array<any>; private _onConfigComplete: Function; private _onConfigCompleteTarget: any; public static getInstance():ResUtils{ if(this.instance == null){ this.instance = new ResUtils(); } return this.instance; } /** * 构造函数 */ public constructor() { this._configs = new Array<any>(); } /** * 添加一个配置文件 * @param jsonPath resource.json路径 * @param filePath 访问资源路径 */ public addConfig(jsonPath: string,filePath: string): void { this._configs.push([jsonPath,filePath]); } /** * 开始加载配置文件 * @param $onConfigComplete 加载完成执行函数 * @param $onConfigCompleteTarget 加载完成执行函数所属对象 */ public loadConfig($onConfigComplete: Function,$onConfigCompleteTarget: any): void { this._onConfigComplete = $onConfigComplete; this._onConfigCompleteTarget = $onConfigCompleteTarget; this.loadNextConfig(); } /** * 加载 */ private loadNextConfig(): void { //加载完成 if(this._configs.length == 0) { this._onConfigComplete.call(this._onConfigCompleteTarget); this._onConfigComplete = null; this._onConfigCompleteTarget = null; return; } var arr: any = this._configs.shift(); RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE,this.onConfigCompleteHandle,this); RES.loadConfig(arr[0],arr[1]); } /** * 加载完成 * @param event */ private onConfigCompleteHandle(event: RES.ResourceEvent): void { RES.removeEventListener(RES.ResourceEvent.CONFIG_COMPLETE,this.onConfigCompleteHandle,this); this.loadNextConfig(); } }
//加载多个资源文件
ResUtils.getInstance().addConfig("resource/test.json","resource/"); ResUtils.getInstance().addConfig("resource/test2.json","resource/"); ResUtils.getInstance().loadConfig(this.onConfigComplete, this);
但是在egret wing2.5中,default.des.json改名后,就会使用不正常了。
找不到路径下的资源。
Egret的config加载类,支持多个文件加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。