在sprite kit游戏

时间:2016-01-13 18:48:45

标签: ios swift sprite-kit sprite

我正在制作一个sprite kit / swift游戏。我希望球在跌落和跳跃时做不同的事情。现在,如果它下降,它也使用底部的代码(跳转代码)

以下是我正在使用的代码:

override func collisionWithBall(ball: SKNode) -> Bool {

        if ball.physicsBody?.velocity.dy < 0 {
            ball.physicsBody?.velocity = CGVector(dx: ball.physicsBody!.velocity.dx, dy: 500.0)

            if platformType == .Normal {
                self.removeFromParent()
            }

            if platformType == .Break {
                self.removeFromParent()
                ball.physicsBody?.velocity = CGVector(dx: ball.physicsBody!.velocity.dx, dy: 800.0)
            }
        }
        if ball.physicsBody?.velocity.dy > 0 {
        if platformType == .Break {
            NSUserDefaults.standardUserDefaults().setInteger(1, forKey: "nextValue")
            self.removeFromParent()
            ball.physicsBody?.velocity = CGVector(dx: ball.physicsBody!.velocity.dx, dy: -800.0)
        }
        }

        return false
    }

如果它跳了,我希望它只使用这个如果ball.physicsBody?.velocity.dy&gt; 0 当它落下时我想只使用这个如果ball.physicsBody?.velocity.dy&lt; 0

我该怎么做才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

您将更改if语句以使用else if作为第二个条件。像这样:

if ball.physicsBody?.velocity.dy < 0 {
    // Handle falling here...
} else if if ball.physicsBody?.velocity.dy > 0 {
    // Handle jumping here...
}