Swift 当节点接近某个特定点时,降低节点速度

Swift 当节点接近某个特定点时,降低节点速度,swift,sprite-kit,move,skaction,Swift,Sprite Kit,Move,Skaction,当看到一个节点时,我不喜欢它是如何移动的,当它到达它的移动点时突然停止。我想做的是慢慢降低节点的速度,因为它接近它的移动点,但在思考如何实现这一点两天后,我还没有找到解决方案(很可能非常简单) 我已经设法使用计时器和moveBy(不是moveTo)逐渐提高和降低节点速度,但这并不会在特定点停止节点,或者如果我告诉它在到达特定点后停止,则节点的速度可能很小,也可能很大 有人知道我可以如何解决我的问题吗。您可以将操作的计时模式设置为EaseOut或easeenaseout(默认设置为线性)。比如说

当看到一个节点时,我不喜欢它是如何移动的,当它到达它的移动点时突然停止。我想做的是慢慢降低节点的速度,因为它接近它的移动点,但在思考如何实现这一点两天后,我还没有找到解决方案(很可能非常简单)

我已经设法使用计时器和moveBy(不是moveTo)逐渐提高和降低节点速度,但这并不会在特定点停止节点,或者如果我告诉它在到达特定点后停止,则节点的速度可能很小,也可能很大


有人知道我可以如何解决我的问题吗。

您可以将操作的计时模式设置为
EaseOut
easeenaseout
(默认设置为
线性
)。比如说

let moveAction = ...
moveAction.timingMode = .EaseOut
从中,其他选项包括:

线性。指定线性调整。线性调整使动画在其持续时间内均匀出现

EaseIn.指定轻松调整步调。减缓步调会导致动画缓慢开始,然后随着动画的进行而加快

EaseOut.指定减缓速度。减缓速度使动画快速开始,然后在完成时变慢

缓进缓出。指定缓进缓出起搏。“缓入缓出”动画缓慢开始,并在动画中间加速 它的持续时间,然后在完成之前再次减慢


这看起来比我想象的简单,现在让我试试。谢谢这太棒了!!!我很快就会接受你的答复。可以调整EaseOut使其长度更长或更短吗?我对它的成果很满意,我只是想知道。谢谢你,我可以帮你:)我不相信这是标准的,你可能对谢谢感兴趣,我会看看你提供的链接。那里还有一些简易程序,但我不确定它是否能让你完全控制;可能是有趣的调查…作为ABakerSmith建议的补充(自定义操作可能是最合适的解决方案),您可以检查,我几天前尝试了第二个,效果很好。谢谢Whirlwind,我也会检查一下。