如何在SWIFT中改变节点下降的速度

时间:2015-04-06 10:29:19

标签: ios swift sprite-kit

我想知道如何使用swift更改sprite kit中节点的下落速度,我已经尝试过改变引力,但是当它变得非常快时会开始崩溃。 我已经这样做了,它有效,但正如我所说它崩溃了:

var velocity:CGFloat = 0
override func update(currentTime: CFTimeInterval) {
velocity = CGFloat(score*3)
self.physicsWorld.gravity = CGVectorMake(0, -velocity)
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在节点上施加力,而不是更改场景的重力。

禁用重力

self.physicsWorld.gravity = CGVectorMake(0,0)

使用声明

设置每个下降节点的name属性
node.name = @"fallingNode"

然后,在更新功能

self.enumerateChildNodesWithName("fallingNode", usingBlock: {

    (node: SKNode!, stop: UnsafeMutablePointer <ObjCBool>) -> Void in
        // do something with node or stop
        node.physicsBody?.applyForce(velocity)
        return
    })