如何平滑移动精灵节点

how to move sprite node smoothly

我目前正在使用此代码移动火箭:

let location = touch.locationInNode(self)
rocket.position.y = location.y

我想知道使用 SKActionTimingMode.EaseOut 是否更容易,如果可以,我如何使用 SKAction 让火箭沿 Y 轴上下移动。

有没有办法用我已经在使用的代码顺利移动节点?

应用设置为横向。

以下是使用 SKAction 的方法。我认为使用 SKAction 会更流畅。或者,您也可以将物理体附加到节点,并通过计算滑动的力来调用 applyForce ,或者如果它是触摸,则根据触摸发生的位置(即在对象上方或下方)调用带有预定义值的 applyImpulse。 )

let location = touch.locationInNode(self)
let action = SKAction.moveToY(location.y, duration: 3.0) // Or however much time you want to the action to run.
action.timingMode = .EaseInEaseOut
rocket.runAction(action)