[]微信小游戏资源总是加载旧的资源

图集的图片资源的版本号明明已经改了,还是用了旧的图片,从服务器上没有看到相关请求;
但是,图集的json、字体等文件却相反,明明版本号没改,却从服务器上看到每次都请求下载了一次;
这是什么原因?好奇怪
 
 
问题找到了,
在服务器上看到请求过来的地址,图集JSON文件都带有版本号,但是图集对应的PNG没有带版本号。。。
 
引擎版本1.7.18beta
 
我是用这样的方式加载的图集
Laya.loader.load([{url: "res/atlas/xxx1.json", type: Loader.ATLAS},
        {url: "res/atlas/xxx2.json", type: Loader.ATLAS}, 
        {url: "res/atlas/xxx3.json", type: Loader.ATLAS}],
Handler.create(...
 
并且在这之前已经加载并设置了版本文件
URL.version=Laya.loader.getRes("resVersion.json");
 
我们游戏已经在微信小游戏之外的平台上线了的,以前热更新都没问题,最近发到微信小游戏真机上调试就有问题
 
求官方大大尽快修复
已邀请:

OneWay

赞同来自:

你这个问题是由于同时使用了basePath和版本管理导致。属于引擎适配库的一个BUG,我们会在1.7.19版本中修复。预计是本周末发版本。
 
想现在解决的话,参照这个问题  https://ask.layabox.com/question/14117
 
这个问题的最佳回复里,有临时解决的附件,下载替换即可。

懒懒

赞同来自: Аη

楼主是不是设置了Laya.URL.basePath?
 
假设我们要加载图集comp.json,并且设置了Laya.URL.basePath = "http://www.abc.com/"
 
因为资源管理的version.json文件是通过相对路径映射的,所以图集comp.json在version.json中类似{"comp.json":"compksd92svb.json","comp.png","compasdfj329.png"},加上前面设置的Laya.URL.basePath,最终的加载路径是"http://www.abc.com/compksd92svb.json",加载图片资源时是"http://www.abc.com/comp.png"。
 
"http://www.abc.com/comp.png"在version中找不到映射,因为有效的key是"comp.png",所以就会返回原路径"http://www.abc.com/comp.png",很明显加载的地址是错误的。
 
感觉是引擎没有考虑到这种情况,我们可以自己在laya.core.js和laya.core.min.js中修复下。
 
我自己是这么解决的,遇到同样问题的可以参考下:

QQ图片20180509105157.png

 
 

大大大虎刘。

赞同来自:

检查服务器是否开启了CDN

q1402907210 - 你猜猜

赞同来自:

你看看有没有把缓存清理干净!

layabox

赞同来自:

上传个可以重现的DEMO

熊猫大侠

赞同来自:

我这边也遇到这个问题了 而且 我同事用微信开发工具能拿到最新 但是我这边拿微信开发工具去拿不到 是黑屏

Аη

赞同来自:

我也遇到这个问题,josn加载到后PNG没加载到,然后complete事件就不触发了,官方请看一下

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作