整数值不更新

时间:2016-06-01 23:57:16

标签: swift sprite-kit nodes sklabelnode

我正在创建一个游戏,我正在努力保留所有敌人的记录,但我的SKLabel节点没有更新。这是我实施它的方式

class GameScene: SKScene, SKPhysicsContactDelegate {

var Enemy1KillCounter:Int  = 0
var Enemy1KillCounterLabel = SKLabelNode ()

 override func didMoveToView(view: SKView) {

     createEnemyKilledLabel()
}

    func createEnemyKilledLabel() {

    Enemy1KillCounterLabel.text = "\(Enemy1KillCounter)"
    Enemy1KillCounterLabel.fontSize = 65
    Enemy1KillCounterLabel.fontColor = SKColor .blackColor()
    Enemy1KillCounterLabel.position = CGPointMake(400, 400)

    self.addChild(Enemy1KillCounterLabel)
}

 func updateEnemy1KillCounter() {

    Enemy1KillCounter = Enemy1KillCounter + 1

    print(Enemy1KillCounter)

}
// I use the next method because i call this method in my enemy class    
   when the enemy is "killed"

  func Enemy1DieG () {
    updateEnemy1KillCounter()
}

有人知道为什么我的标签没有更新吗?

2 个答案:

答案 0 :(得分:0)

更新Enemy1KillCounter时,您还需要使用新值更新Enemy1KillCounterLabel.text。此外,我不知道你的createEnemyKilledLabel()被叫到哪里。确保在某处调用它。

附注 - 变量名通常以小写字母开头,如enemy1KillCounterLabel。遵循标准使其他人更容易阅读代码......

答案 1 :(得分:0)

更新Enemy1KillCounter变量后更新标签文本。

func updateEnemy1KillCounter() {
    Enemy1KillCounter = Enemy1KillCounter + 1
    Enemy1KillCounterLabel.text = "\(Enemy1KillCounter)"
    print(Enemy1KillCounter)
}