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