'永远不会被执行'

0 if-statement ios swift sktransition

我不知道为什么此错误出现在代码中:

    func torpedoDidCollideWithAlien(torpedo:SKSpriteNode, alien:SKSpriteNode){
        print("HIT")
        torpedo.removeFromParent()
        alien.removeFromParent()

        var aliensDestroyed = 0
        aliensDestroyed += 1

        if (aliensDestroyed > 10){ //Transition to GameOver or Success
            let transition:SKTransition = SKTransition.flipHorizontalWithDuration(0.5)
                let gameOverScene:SKScene = GameOverScene(size: self.size, won: true)
                self.view?.presentScene(gameOverScene, transition: transition)
            }
Run Code Online (Sandbox Code Playgroud)

错误在一行:

let transition:SKTransition = SKTransition.flipHorizontalWithDuration(0.5) //'Will never be executed'
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 5

声明一个名为新变量aliensDestroyed具有的价值0。然后,将值增加到1

然后,您检查该值是否大于10。这不可能是真的。它将永远如此1

因此,该if语句的内容将永远不会执行。

您可能想要的是一个名为的实例变量,aliensDestroyed而不是在torpedoDidCollideWithAlien函数内部创建新的局部变量。