[]ani用到的图集资源清理之后再次用load进来,重新创建ani,ani不现实的bug
我有一个a.ani文件,这个a.ani需要用到b.json图集。
先用Laya.loader.load加载b.json图集,然后在加载完成的处理函数里面new一个Animation,将a.ani显示出来
过一会移除a.ani,并且用Laya.loader.clearRes删除b图集
又过一会,重新用Laya.loader.load加载b图集,然后在加载完成的处理函数里面重新new一个Animation,发现无论如何a.ani都不显示了。
贴代码,工程在附件中
先用Laya.loader.load加载b.json图集,然后在加载完成的处理函数里面new一个Animation,将a.ani显示出来
过一会移除a.ani,并且用Laya.loader.clearRes删除b图集
又过一会,重新用Laya.loader.load加载b图集,然后在加载完成的处理函数里面重新new一个Animation,发现无论如何a.ani都不显示了。
贴代码,工程在附件中
没有找到相关结果
已邀请:
2 个回复
xuzhenyu0_0
赞同来自:
1.clearRes不会清除Animation的缓存
2.Animation会缓存,当调用loadAnimation的时候,会优先从缓存中读取,如图
3.所以当清理掉texture后,虽然重新加载了,但是Animation依然没有用新的texture。
解决办法是调用Laya.Animation.clearCache把动画缓存也清除掉,或者用clearTextureRes代替clearRes,具体看项目需求。
踩坑完毕
Aar0n
赞同来自: