获取函数中Swift的当前分数

获取函数中Swift的当前分数,swift,Swift,我试图增加一个变量,我用它作为NSTimeInterval,当分数上升20分时 这是到目前为止我的代码 /* Create and Spawn enemy birds */ func enemySpawn() { enemyBirdPhysics() // ENEMY BIRD ONE // Random Height let maxHeight:UInt32 = UInt32(self.frame.size.height - enemyBird.size.

我试图增加一个变量,我用它作为NSTimeInterval,当分数上升20分时

这是到目前为止我的代码

/* Create and Spawn enemy birds */
func enemySpawn() {




enemyBirdPhysics()



    // ENEMY BIRD ONE
    // Random Height
    let maxHeight:UInt32 = UInt32(self.frame.size.height - enemyBird.size.height)
    let moveToEndAction = SKAction.moveToX(0 - enemyBird.size.width, duration: 1.5)
    let resetTostartAction = SKAction.runBlock { () -> Void in

        var randomHeight = CGFloat(arc4random() % maxHeight)
        if (randomHeight < self.frame.size.height*0.1) {
            randomHeight = self.frame.size.height*0.12
        }
        self.enemyBird.position = CGPointMake(self.frame.size.width+100,randomHeight)
        score++
        self.scoreLabel.text = "\(score)"

    }



    let moveToEndThenStartAgain = SKAction.repeatActionForever(SKAction.sequence([moveToEndAction,resetTostartAction]))
    enemyBird.runAction(SKAction.repeatActionForever(moveToEndThenStartAgain))
    enemyBird.position = CGPointMake(self.frame.size.width+100, 500)
    movingObjects.addChild(enemyBird)





    // ENEMY BIRD TWO
    var waitBird2 = SKAction.waitForDuration(0.75)
    var waitBird2run = SKAction.runBlock({

        // Random Height
        let maxHeight2:UInt32 = UInt32(self.frame.size.height - self.enemyBird.size.height)
        let moveToEndAction2 = SKAction.moveToX(0, duration: 1.5)
        let resetTostartAction2 = SKAction.runBlock { () -> Void in

            var randomHeight2 = CGFloat(arc4random() % maxHeight2)
            if (randomHeight2 < self.frame.size.height*0.1) {
                randomHeight2 = self.frame.size.height*0.12
            }
            self.enemyBird2.position = CGPointMake(self.frame.size.width+100,randomHeight2)
            score++
            self.scoreLabel.text = "\(score)"

        }



        let moveToEndThenStartAgain2 = SKAction.repeatActionForever(SKAction.sequence([moveToEndAction2,resetTostartAction2]))
        self.enemyBird2.runAction(SKAction.repeatActionForever(moveToEndThenStartAgain2))
        self.enemyBird2.position = CGPointMake((self.frame.size.width+100), 200)
    })

    var bird2Seq = SKAction.sequence([waitBird2, waitBird2run])
    enemyBird2.runAction(bird2Seq)
    enemyBird2.position = CGPointMake((self.frame.size.width+100), 500)
    movingObjects.addChild(enemyBird2)

}

我希望持续时间基于一个变量,我可以根据分数进行更改。

更改什么的值?此外,我认为没有必要发布那么多代码!这是相当压倒性的。对不起,我只想在深度发布我能。。。我会很快把它编辑掉用一个变量替换1.5然后在你改变分数的时候改变这个变量?我不太理解这里的问题。我创建了两个变量,分别称为duration1和duration 2,它们都设置为1.5,然后在运行块内部开始(分数发生变化)我设置了一个-IF分数>20,然后将持续时间减少到0.6,但是精灵没有加速,或者其他任何东西,它们只是保持在1.5,尽管我将变量设置为0.6Oh,这是因为在运行时不能更改重复的SKActions。他们只会不断重复同样的动作。我建议您在update函数中调用该函数,而不是创建一个重复的操作,如果您想更改它的话。
let moveToEndAction = SKAction.moveToX(0 - enemyBird.size.width, duration: 1.5)