白鹭引擎 - 资源文件的加载 ( RES, loadConfig, loadGroup )

时间:2022-11-30 18:06:49
class Main extends egret.DisplayObjectContainer {

    public constructor() {
super();
this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
} /**
* 1, 对于图片的使用, 一般会将所有图片集中起来, 配置在一个文件中,
* 2, RES 资源加载对象, 一个全局对象
* 3, RES.ResourceEvent.GROUP_COMPLETE 资源加载完成时触发的事件
* 4, RES.loadConfig(地址, 资源文件夹) 设置资源配置文件和资源所在文件夹
* 5, RES.loadGroup(组名) 用于加载某个组的资源文件
* 6, 一般情况下, 配置文件中会分为两个字段, groups 和 resources
* -- resources: 是一个数组, 放置了所有资源文件的对象, 每个对象有三个属性
* -- name: 资源文件调用名称, type: 文件类型, url: 文件所在地址
* -- groups: 是一个数组, 放置了文件组对象, 用于控制加载哪些资源文件
* -- 组对象有两个属性, name: 组名, keys: 包含哪些resources中的资源文件, 用逗号隔开
*/
private onAddToStage(event: egret.Event) {
RES.addEventListener(RES.ResourceEvent.GROUP_COMPLETE, this.onGroupComplete, this);
RES.loadConfig("resource/default.res.json", "resource/");
RES.loadGroup("preload");
} /**
* 1, Bitmap, 图片显示对象, 用于显示图片
* 2, RES.getRes(key) 根据配置文件配置的 key, 获取资源文件
*/
private onGroupComplete() {
var img1:egret.Bitmap = new egret.Bitmap();
img1.texture = RES.getRes("background_1");
img1.width = 640;
img1.height = 1136;
this.addChild(img1);
} }

对应的配置文件  default.res.json

{
"groups":[
{
"keys":"background_1, background_2",
"name":"preload"
}
],
"resources":[
{
"name":"background_1",
"type":"image",
"url":"assets/background_1.jpg"
}, {
"name":"background_2",
"type":"image",
"url":"assets/background_2.jpg"
}
]
}