[LayaAir3]微信小游戏Laya.loader.loadPackage 与 Laya.URL.basePath的互斥问题
微信小游戏启动时会自动触发一次Laya.loader.loadPackage,此时图集管理类会进行一次赋值
export class AtlasInfoManager {
static _fileLoadDic: Record<string, { url: string, baseUrl?: string }> = {};
}但是这时字典的key并不具有Laya.URL.basePath的值,导致后续赋值Laya.URL.basePath后,该字典就会失去作用从而无法正确加载图集里的图片。
目前有个绕开这个BUG的方法就是赋值Laya.URL.basePath后重新调用一次Laya.loader.loadPackage("", null, null)
调用成功后,字典的key会多出一份Laya.URL.basePath+资源路径的值,但是缺点是内存占用会存在二份。
其次是赋值Laya.URL.basePath后,图集管理类的字典内的每个key都附带了较长的远程路径。
export class AtlasInfoManager {
static _fileLoadDic: Record<string, { url: string, baseUrl?: string }> = {};
}但是这时字典的key并不具有Laya.URL.basePath的值,导致后续赋值Laya.URL.basePath后,该字典就会失去作用从而无法正确加载图集里的图片。
目前有个绕开这个BUG的方法就是赋值Laya.URL.basePath后重新调用一次Laya.loader.loadPackage("", null, null)
调用成功后,字典的key会多出一份Laya.URL.basePath+资源路径的值,但是缺点是内存占用会存在二份。
其次是赋值Laya.URL.basePath后,图集管理类的字典内的每个key都附带了较长的远程路径。
没有找到相关结果
已邀请:
2 个回复
Laya_Fred
赞同来自:
设置afterInit里面的URL.basePath
断点AtlasInfoManger的路径处理
再将资源放置到具体的远端地址下面去,这样来处理应该是比较合适的;如果您有别的需求,可以在下面详细描述下,我来测试试下。
layaAir小孟
赞同来自: