如何让我的HighScore立即显示在Swift Spritekit中?

时间:2015-02-27 16:38:45

标签: xcode swift

我想出了如何保存我的高分,但我遇到了一个问题。高分保存,但在我击败分数后不会更新高分。我必须再次玩,然后失去它然后通过菜单更新游戏中的高分。我该如何解决这个问题?这是代码。

  func didBeginContact(contact:SKPhysicsContact){

    var defaults=NSUserDefaults()
    var highscore=defaults.integerForKey("highscore")

    if(score>highscore)
    {
        defaults.setInteger(score, forKey: "highscore")
    }
    var highscoreshow = defaults.integerForKey("highscore")

    endOfGameHighScoreLabel.text = String(highscore)


    }
}

1 个答案:

答案 0 :(得分:0)

您需要使用已声明的highscoreshow变量,而不是使用highscore变量。因为在你的highscore变量中,之前仍有一轮的高分。正如您已经完成的那样,您需要获得保存在NSUserDefaults中的新高分。所以你需要改变它:

endOfGameHighScoreLabel.text = String(highscore)

对此:

endOfGameHighScoreLabel.text = String(highscoreshow)