我正在使用 ImpactJS 在 HTML5 和 JS 上创建游戏,当动画运行时,是否可以在任何帧反转动画帧流(不翻转)?我使用了rewind(),它只回到第一帧,有没有reverse()?
问问题
501 次
3 回答
4
如果你不介意有点hacky,理论上这样的东西应该可以工作:
animation.sequence = animation.sequence.reverse(); //Reverse the animation
animation.gotoFrame(animation.length - animation.frame - 1); //Set the frame to be the same frame as it was before.
基本上,ig.Animation()
类的序列属性决定了帧的运行顺序,更新只是基于计时器对它们进行迭代。反转它,你反转动画。当您想将动画重置为前进时,您可以再次使用相同的代码。
如果您想要播放完整的反转动画,您可能还需要这样做animation.rewind()
。gotoFrame()
否则,您可以使用 2 个动画并gotoFrame()
在切换动画时使用以开始正确的帧。另请注意,上面的代码将复制一帧动画,您需要删除-1
(查看源代码,我认为在 where 的情况下这将是可以的frame = 0
)。
于 2012-04-24T19:26:19.783 回答
0
不,但是您可以使用插件系统轻松编写自己的代码。
或者只是创建一个从 enetity.currentAnim.frame 开始的新动画,然后通过 entity.sequence 向后工作。然后将当前动画设置为新动画。
于 2012-02-13T21:08:47.323 回答
0
不,我知道没有反向
但相反,您可以创建具有相反顺序的新动画,然后在需要时切换到该动画
于 2013-07-24T16:41:43.217 回答