当它更接近特定点时降低节点速度

时间:2015-06-30 14:34:27

标签: swift sprite-kit move skaction

当一个节点进入视野时,我不喜欢它的行进方式,然后突然停止,因为它到达它的移动点。我想要做的是慢慢降低节点的速度,因为它接近它的移动点,但经过2天考虑如何实现这一点,我还没有想出一个解决方案(它很可能非常简单)。

我已经设法使用计时器和moveBy(Not moveTo)逐渐增加和减少节点速度,但是这不会使节点停在特定点,或者如果我告诉它在到达特定点时停止,节点速度可能很小或可能很大。

有没有人知道我如何能够解决我的问题。

1 个答案:

答案 0 :(得分:1)

您可以将操作的计时模式设置为EaseOutEaseInEaseOut(默认设置为Linear)。例如

let moveAction = ...
moveAction.timingMode = .EaseOut

SKAction documentation,其他选项包括:

  

线性。指定线性投放安排。线性调步会使动画在其持续时间内均匀发生。

     

EaseIn。指定缓入调步。缓入式调步会使动画缓慢开始,然后随着演进的进展而加快。

     

EaseOut。指定缓出式投放安排。 Ease-out调整会导致动画快速开始,然后在完成时变慢。

     

EaseInEaseOut。指定缓入缓出调步。轻松的缓动动画开始缓慢,并在中间加速   它的持续时间,然后在完成之前再次减速。