私はゲームを作成していますが、敵の死亡記録を残そうとしていますが、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()
}
誰かが私のラベルが更新されていない理由を知っていますか?
私はdidMoveToView関数でそれを呼び出しました。テキストを更新するにはどうすればよいですか?更新メソッドを使用しますか?なぜなら私はデバッガのためにそこにprintメソッドを持っていて、それも更新していないからです。毎回1を追加するのではなく、毎回1と書いています。@MirekE – gkolman
はい、それを更新関数に置きます。なぜあなたのプリントに追加が反映されていないのか分かりません。追加の前に別の印を付けて、どこかに0を割り当てていないことを確認してください。 – MirekE
私は整数の基底値として0を割り当てました。何が起きているかは私の整数が0になっています。 ? @MirekE – gkolman