如何顺利移动精灵节点

时间:2015-07-02 20:01:33

标签: swift sprite-kit skspritenode skaction

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

Qualifier

我想知道使用let location = touch.locationInNode(self) rocket.position.y = location.y 是否更容易,如果是这样,我如何使用SKActionTimingMode.EaseOut使火箭沿着Y轴上下移动。

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

该应用已设置为横向。

1 个答案:

答案 0 :(得分:4)

以下是使用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)