-
Notifications
You must be signed in to change notification settings - Fork 797
Using Resource System
Egret提供了一套默认的资源加载管理模块,在"RES"这个命名空间下。RES是一个可选的模块,与Egret核心库完全独立。开发者可以自行选择是否采用它,或使用自定义的第三方资源加载管理库。
这里我们以Egret模板项目的resource.json为例:
{
"resources": [ {"name":"bgImage","type":"img","url":"assets/bg.jpg"}, {"name":"egretIcon","type":"img","url":"assets/egret_icon.png"}, {"name":"description","type":"json","url":"config/description.json"} ],
"groups": [ {"name":"preload","keys":"bgImage,egretIcon"} ] }
resources下是每一项资源的配置信息,name表示这个资源的唯一短名标识符,type表示资源类型,url是资源文件的路径。
groups下是预加载资源组的配置,每项是一个资源组。name表示资源组的组名,keys表示这个资源组包含哪些资源,里面的逗号分隔的每一个字符串,都与resources下的资源name对应。同一个资源可以存在于多个资源组里。RES.loadConfig("resources/resource.json","resources/");
调用RES.loadConfig()加载之前的resource.json配置文件即可完成初始化。loadConfig()第一个参数是resource.json文件的完整路径,第二个参数是resource.json里每个资源项url的前缀。例如配置里的bgImage资源项填的url是assets/bg.jpg,实际加载时将会采用resources/assets/bg.jpg来加载。
若需要在初始化完成后再做一些处理,监听配置加载完成的事件即可: >RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE,this.onConfigComp,this);
注意:RES.loadConfig()通常应写在整个程序最开始初始化的地方,并且只执行一次。
如果您有任何疑问或建议,欢迎访问 Egret开发者论坛 和 Egret 官方团队讨论