我有两个spine动作,需要在第一个动作完成之后,重复播放第二个动作
ani.setAnimation(0, action1, false);
ani.addAnimation(0, action2, true);
于是写出了上面这样的代码
由于需求原因, 某些情况 我需要很短的时间内播放第三个动作
ani.setAnimation(0, action3, false);
导致我在第3个动作播放完成之后,会播放第二个动作,由于不是必现的,导致排除难度加大,当我意识到这个问题的时候,我的第一想法是在播放第三个动作之前想法子清理掉之前的动作,于是试了一下这个api
clearTracks,我以为没有问题了,控制打开一看,发现动画缓存模式不能使用!
于是我想着把这个节点回收到内存池,重新获取一个新的节点,发现新创建的节点,有可能拿到这个老的节点,导致问题依旧存在!最后大致看了下源码,发现addAnimation 主要是加到这个数组里面去了,于是我回收动画节点之前,把这个数组置空就可以了!
最后有好的方法请底下留言!感谢!