[0]Spine的播放出现闪烁

spine版本3.8,使用spine-core-3.8.js,引擎版本是2.12.2
在循环播放spine的时候,定时调用Laya.Resource.destroyUnusedResources();清空没有引用的资源,这时会触发spine的图片资源被清除,从而导致出现闪烁。
原因:spine动画模板类SpineTemplet_3_x 使用的Texture是加载回来后,从新创建了一个SpineGLTexture,没有放进Loader.textureMap中管理,既textureMap中缓存起来的Texture与spine在destroyUnusedResources后没有关联了,然后spine是调用drawTriangles来绘制渲染,该方法不会使SpineGLTexture的引用加1,既引用依然是0,第一次destroyUnusedResources后,spine再渲染时会从新恢复bitmap,但由于拿不到SpineGLTexture的实例,所以不能给该资源加锁,导致资源引用为0,没有加锁而被destroy掉,从而出现闪烁
已邀请:

Yan

赞同来自:

我们这里看一下,有结果及时联系您

要回复问题请先

商务合作
商务合作