SpriteKit中的平滑精灵运动

时间:2014-09-15 18:02:09

标签: ios swift sprite-kit

嗨我正在使用Sprite Kit在Swift中制作游戏,我想知道是否有办法让精灵有平滑的动作。目前我在SKAction中使用moveTo方法,并且精灵在一段时间内到达目标位置 - 这意味着如果位置距离较远,精灵将更快到达目的地。我想知道是否有一种可靠的方法让精灵加速到最大设定速度,然后在到达该位置时减速。感谢所有帮助。

1 个答案:

答案 0 :(得分:4)

使用毕达哥拉斯定理根据距离获得正确的持续时间,以获得所需的速度。见这里:https://stackoverflow.com/a/19126642/431271

就最终的减速而言,你可以做一些快速内置的缓动方法:

var moveAction = SKAction.moveByX(moveX, y:moveY, duration:0.5);
moveAction.timingMode = SKActionTiming.EaseInEaseOut
node.runAction(moveAction)

如果您想要其他缓动方法,请使用引用 here

的库