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

how to change the speed of falling nodes in SWIFT

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

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

谢谢!

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

禁用重力

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

设置每个下降节点的名称属性及其声明

node.name = @"fallingNode"

然后,在update函数中

self.enumerateChildNodesWithName("fallingNode", usingBlock: {

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