creator 2.2.1 spine 缓存 bug

在游戏第一个启动的scene(热更scene)页面,更新scene已经加载过的spine的时候,热更完成以后,调用restart,同批热更的sprite,以及js代码都有替换成热更后的资源,但是spine动画还是热更前资源,需要关闭游戏进程后,重新启动,加载出来的spine才是热更后的spine资源。无论andorid还是ios都有出现这个问题。

求各位引擎组大大帮忙看看这个问题. @EndEvil @sunnylanwanjun @jjyinkailejj @Knox @huanxinyin @jare

我有试过手动释放这个spine资源,但是释放成功后切换页面,重新用代码加载这个spine,还是老资源,非要重新启动游戏加载的才是新资源。

求助阿。顶一顶!

@huanxinyin@337031709@Knox@jare@jjyinkailejj@BigBear@_PP@crazypad@yufang.wu@leda
项目快上线了,升级之后出现的问题。求助。
cc.game.restart(),之后已经加载在内存的spine不会重新加载成新资源,而是非要重启客户端后,才会变成新资源。一起更新的sprite和其他资源都会重新加载。

spine的缓存模型改为normal能不能避免这个问题?

不然的话你试下:https://github.com/cocos-creator/engine/pull/5900

这个的修正,能不能帮到你

谢谢回复,都有试过,不行,还是没用。

各位引擎组大大,求助阿。

有没有人理一下阿,出来帮忙看下阿。人工顶置。

@huanxinyin@337031709@Knox@jare@jjyinkailejj@BigBear@_PP@crazypad@yufang.wu@leda ,引擎组的各位大佬,已经好几天了,求帮忙看一下呀!麻烦各位了。就算是我自己的代码问题,也告知一下啊。

手动顶置

再顶置

手动顶

额 ,真的没人么?我感觉就是用cc.game.restart().都不能让spine资源重新加载

试下在restart的时候,把pack-download中的globalUnpackers、uuidToPack、packIndices清空一下。如果还是不行的话,麻烦提供一个demo过来,我们查下。估计有可能是loader的缓存没有清空,导致取到的路径还是老资源的

好的,有试过你上面说的方案了,还是不行。demo在这里spineDemo.zip (1.3 MB) 需要打开之后build一下,然后直接安装就行,ios和andorid都可以。


这个demo第一个场景直接热更,背景图有热更成功,然后背景图上面加的spine也热更成功了,restart之后样子还是以前的,但是重新打开app之后,spine才会变成热更新的样子

mark

大佬,demo已经上传了。有帮忙看一下么?

哇,来个人理下我呀,@huanxinyin@337031709@Knox@jare@jjyinkailejj@BigBear@_PP@crazypad@yufang.wu@leda .demo在上面,来个人帮忙看一下呀

在看,有结果会回复你