第一次用Creator,spine好像没有提供动画暂停与恢复的api。之前用2dx的时候是通过节点的暂停和恢复方法来实现的,但是换成Creator发现node的pauseAllActions()
方法并没有效果。
暂停,继续
查找了一番之后,发现sp.Skeleton
组件的api中定义了一个暂停的字段paused
,将这个字段设置为true
即可暂停动画,设置为false
继续动画。
示例代码:
1 | this.sk = this.spineNode.getComponent("sp.Skeleton") as sp.Skeleton; |
注意,这里的将paused
设置为false
,动画将会在暂停的地方继续往后面播放。如果我们要想重头播放动画,该方法就不适用了。
暂停,重新播放
我这里的思路是将正在进行的动画线管给清除掉,然后重新播放动画。
重新播放动画代码示例:
1 | this.sk = this.spineNode.getComponent("sp.Skeleton") as sp.Skeleton; |