这个bug会造成播放循环动画时偶尔闪烁一下的,很严重的啊。
你好,麻烦说一下你用的creator的版本,以及动画是什么类型?(帧动画?position动画?size动画?)如果是帧动画,是动画编辑器创建的clip还是代码动态创建的clip,以及你修改了clip的哪些属性(比如speed、wrapMode?sample?)
最好是把你的atlas图集文件贴上来
我可以帮你测试一下,因为我没有遇到过跳帧问题

这是两张截图,观察下来发现最后红色时间轴跳回到第一帧的位置不一致。一般正正常情况是要超过动画最后多一帧,但偶尔出现不超过的情况,也就是最后一帧没有播放。我用的1.1.1版本,是动画编辑器里创建的,随便创建个动画在编辑器里更改一下spriteFrame属性就行了,也没动态更改。只是不是每次都出现,如果不出现编辑器里更改一下speed再看看出现不。出现时往往连续出现几次后就又恢复正常了。
你这里clip是30帧,也就是说偶尔会播放到31帧?
正常情况第31帧会跳回到第一帧重新播放,不正常时第30帧就跳回到第一帧重新播放了。
测试了没有发现你说的情况,每次播放都是播放到最后一帧的下一帧,然后马上跳回第一帧,会不会是你帧事件的原因导致的呢?你可以先删除所有帧事件在试试看
或者你 做个简单的能重现问题的demo我帮你看看是不是有这个问题,如果有的话需要叫官方大神修复
不太忙的时候我做个demo吧。你可以更改不同的speed试试看能出现不能。我测下来感觉好像跟speed有可能有关。
昨天我随便添加了个动画,没加事件也出现了。
我改过不少于5次的speed,但是都是正常的,你方便的时候做个demo贴上来我帮你看看,最好跳帧的时候做的明显一点,不然我害怕眼睛不好看不到
楼主的动画做的有问题,一般来说用做循环播放的动画,最后一帧要和第一帧几乎一模一样
然后说说楼主的问题是如何产生的(个人臆测,仅供参考)
从时间轴上看,循环播放的动画,最后一帧和第一帧“几乎是同时播放的”,如果机器性能不太好,帧间隔的时间比较长,那就会出现还没有播放最后一帧就开始循环的情况了
循环播放的动画,最后一帧就会回到第一帧,也就是只会是无限趋近于最后一帧。
比如最后一帧 x 设置为 0,动画播放的时候因为每帧绘制都是要时间的,不可能刚刚好播放到最后一帧,也就是说,x 会到趋近于 0 的位置(播放到最后一帧之前的最后一次绘制),然后就马上跳到第一帧了。
看 spriteFrame 的动画就能很清楚的看到,如果动画持续时间等于 spriteFrame 的最后一帧的时间,那么这一帧将永远显示不出来。
所以 srpiteFrame 在制作动画的时候,持续时间总是在 spriteFrame 最后一帧的下一帧~~为的就是让时间到达并且停留在最后这个位置一下。。。
一般情况下,循环的动画最后一帧都要和第一帧一样,这样就不会出现问题了~
至于楼主说的会跳到 31 帧再回到第一帧,这个应该是问题。。。我这里也没能重现出来哦~
