【发布时间】:2013-07-25 00:41:43
【问题描述】:
我正在使用 ImpactJS 在 HTML5 和 JS 上创建游戏,当动画运行时,是否可以在任何帧反转动画帧流(不翻转)?我用了rewind(),只能回到第一帧,有reverse()吗?
【问题讨论】:
标签: javascript html5-animation
我正在使用 ImpactJS 在 HTML5 和 JS 上创建游戏,当动画运行时,是否可以在任何帧反转动画帧流(不翻转)?我用了rewind(),只能回到第一帧,有reverse()吗?
【问题讨论】:
标签: javascript html5-animation
如果你不介意有点老套,理论上这样的东西应该可以工作:
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(查看源代码,我认为在frame = 0 的情况下可以这样做)。
【讨论】:
不,但您可以使用插件系统轻松编写自己的代码。
或者只是创建一个从 enetity.currentAnim.frame 开始的新动画,然后通过 entity.sequence 向后工作。然后将当前动画设置为新动画。
【讨论】:
不,我知道没有反向
但是您可以创建具有相反顺序的新动画 然后在需要的地方切换到该动画
【讨论】: