我正在创建一个游戏,我试图保持所有敌人的死亡记录,但我的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
。遵循标准使代码更容易被其他人阅读。。。