[LayaAir3]Laya.loader.fetch从内存加载二进制图片失败(3.1.0可以,3.1.6,3.2.0不行)
使用Laya.loader.fetch从内存加载二进制图片失败,经测试3.1.0可以,3.1.6和3.2不行,升级到3.2时发现的,回头测试3.1.6也不行
花点时间弄个了简单的测试项目,就一个main.ts
切换版本要卸载并清除AppData\Roaming\LayaAirIDE目录,不然无法获得正确结果
花点时间弄个了简单的测试项目,就一个main.ts
const { regClass, property } = Laya;以二进制形式加载resources/layaAir.png为arraybuffer,在从arraybuffer加载图片
export async function PNG2Tex(PngData: ArrayBuffer): Promise<Laya.Texture2D> {
let option: Laya.ILoadOptions = {};
option.type = Laya.Loader.IMAGE;
option.blob = PngData;
let res = await Laya.loader.fetch("", "image", null, option);
if (res) {
let tex = new Laya.Texture2D(res.width, res.height, Laya.TextureFormat.R8G8B8A8, false, false, true);
tex.setImageData(res, true, false);
console.info(tex);
return tex;
}
console.error("Load Error");
return null;
}
@regClass()
export class Main extends Laya.Script {
onStart() {
console.log("Game start");
Laya.loader.fetch("resources/layaAir.png", "arraybuffer").then((res) => {
console.log(res);
PNG2Tex(res);
});
}
}
切换版本要卸载并清除AppData\Roaming\LayaAirIDE目录,不然无法获得正确结果
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
layaAir小孟
赞同来自: