资源加载
方式一
private async loadResource() {
await RES.loadConfig("resource/default.res.json", "resource/");
RES.getResAsync("bg_jpg")
.then((data) => {
let img = new egret.Bitmap();
img.texture = data;
this.addChild(img);
img.scaleX = img.scaleY = .2;
console.log(data);
})
.catch((err) => {
console.log(err);
});
await RES.getResAsync("egret_icon_png")
.then((data) => {
let img = new egret.Bitmap();
img.texture = data;
this.addChild(img);
})
.catch((err) => {
console.log(err);
});
}
方式二
private loadResource() {
RES.loadConfig("resource/default.res.json", "resource/")
.then(() => {
RES.getResAsync("bg_jpg")
.then((data) => {
let img = new egret.Bitmap();
img.texture = data;
this.addChild(img);
img.scaleX = img.scaleY = .2;
console.log(data);
})
.catch((err) => {
console.log(err);
});
}).then(() => {
RES.getResAsync("egret_icon_png")
.then((data) => {
let img = new egret.Bitmap();
img.texture = data;
this.addChild(img);
})
.catch((err) => {
console.log(err);
});
});
}
方式三
RES.getResByUrl("resource/assets/demo.png", (event: any): void => {
const img: egret.Texture = <egret.Texture>event;
const bitmap: egret.Bitmap = new egret.Bitmap(img);
this.addChild(bitmap);
}, this, RES.ResourceItem.TYPE_IMAGE);
资源配置
-
resource/default.res.json
配置九宫格
-
{ "url": "assets/demo.png", "type": "image", "name": "demo_png", "scale9grid": "30, 31, 40, 41" }
使用二进制格式资源
- 使用二进制格式资源时,需要在资源清单中,设置type为bin:
-
{"name":"bg","type":"bin","url":"assets/wall.jpg"}
- 解析二进制
const baImage: egret.ByteArray = new egret.ByteArray(RES.getRes("bg"));
console.log("JPEG SOI:", baImage.readUnsignedShort().toString(16)); // JPEG SOI: 8950
音频资源配置
-
{ "url": "sounds/xiaozhang.m4a", "type": "sound", "name": "xiaozhang_m4a", "soundType": "music" }
RES.getResAsync("xiaozhang_m4a")
.then((data) => {
console.log(data);
let btnPlay = new eui.Button();
btnPlay.label = "PLAY";
this.addChild(btnPlay);
btnPlay.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.TouchEvent) {
data.play();
}, this);
})
.catch((err) => {
console.log(err);
});
- 销毁(销毁后再次点击播放提示:
声音在没有加载完之前不允许播放
)
let btnDestroy = new eui.Button();
btnDestroy.label = "销毁";
this.addChild(btnDestroy);
btnDestroy.x = 120;
btnDestroy.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.TouchEvent) {
RES.destroyRes("xiaozhang_m4a");
}, this);