2016-06-01 12 views
1

私はゲームを作成していますが、敵の死亡記録を残そうとしていますが、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() 
} 

誰かが私のラベルが更新されていない理由を知っていますか?

答えて

0

Enemy1KillCounterを更新する場合は、Enemy1KillCounterLabel.textも新しい値で更新する必要があります。また、私はあなたのcreateEnemyKilledLabel()がどこに呼ばれたか分かりません。それがどこかに呼ばれていることを確認してください。

副注 - 通常、変数名は小文字で始まります(enemy1KillCounterLabelなど)。標準に従うと、他の人がコードを読みやすくなります...

+0

私はdidMoveToView関数でそれを呼び出しました。テキストを更新するにはどうすればよいですか?更新メソッドを使用しますか?なぜなら私はデバッガのためにそこにprintメソッドを持っていて、それも更新していないからです。毎回1を追加するのではなく、毎回1と書いています。@MirekE – gkolman

+0

はい、それを更新関数に置きます。なぜあなたのプリントに追加が反映されていないのか分かりません。追加の前に別の印を付けて、どこかに0を割り当てていないことを確認してください。 – MirekE

+0

私は整数の基底値として0を割り当てました。何が起きているかは私の整数が0になっています。 ? @MirekE – gkolman

0

Enemy1KillCounter変数を更新した後にラベルテキストを更新します。

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

このメソッドを試しましたが、createEnemyKilledLabel()@ Md.MuzahidulIslam以外の方法でEnemy1KillCounterLabel.text = "\(Enemy1KillCounter)"を宣言すると、ラベルには何も印刷されませんでした。 – gkolman

+0

先頭にバックスラッシュがありませんコメント、おそらくそれは何ですか?しかし、Enemy1KillCounterのリキャスト値を保持し、それを割り当てるために一時的な文字列を使用できることを確かめてください。 'let killCountString = Enemy1KillCounter.description; Enemy1KillCounterLabel.text = killCountString' – rebusB

関連する問題