swift - 整数值不更新

标签 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()
}

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

最佳答案

当您更新 Enemy1KillCounter 时,您还需要使用新值更新 Enemy1KillCounterLabel.text。此外,我没有看到您的 createEnemyKilledLabel() 在哪里被调用。确保它在某处被调用。

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

关于swift - 整数值不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580617/

相关文章:

ios - 推送 viewController 时未调用 viewDidLoad

ios - 更改部分 skspritenode 颜色的最有效方法

node.js - Node Sequelize : can I upsert object array at once?

ios - 在 SpriteKit/Swift 中显示 GADBannerView 的最佳方式

swift - 将默认参数值发送给函数?

ios - 向 Sprite Kit Landscape 添加 iAd

swift - 如何防止使用触摸位置处理的 SKShapeNode 超出圆形路径?

javascript - 获取表中对应的元素

c - 在 C 中打印节点时出错?

swift - Swift 中的类与结构(复制)