关于Laya3.0使用UIPackage.addPackage()不能成功读取ui资源的问题

如果使用如下代码加载资源,将返回包含arraybuffer的TextResource对象而不是直接返回arraybuffer
Laya.loader.load("resources/ui/Bag"+"."+fgui.UIConfig.packageFileExtension,Laya.Loader.BUFFER).then(()=>{
const thisPackage:UIPackage = fgui.UIPackage.addPackage("resources/ui/Bag");
const packageItems:PackageItem[] = thisPackage.items;
const others = [];
for (const iterator of packageItems) {
if (iterator.type == fgui.PackageItemType.Atlas) {
others.push({url:iterator.file,type:Laya.Loader.IMAGE});
}
if (iterator.type == fgui.PackageItemType.Sound) {
others.push({url:iterator.file,type:Laya.Loader.SOUND});
}
}
if (others.length > 0) {
Laya.loader.load(others).then(()=>{
this.onUILoaded();
})
}
});
 
此时使用UIPackage.createObject()方法将会抛出如图错误。
我的问题是,在不修改UIPackage.addPackage()源码的情况下,能否成功显示UI
bug.png
已邀请:

谷主

赞同来自: Mai

不需要这样加载包。UIPackage有提供方法。下载fairygui-laya的demo。

要回复问题请先登录注册