0
点赞
收藏
分享

微信扫一扫

Egret Engine(二十四):RES资源加载


资源加载

方式一

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);


举报

相关推荐

0 条评论