我想出了如何保存我的高分,但我遇到了一个问题。高分保存,但在我击败分数后不会更新高分。我必须再次玩,然后失去它然后通过菜单更新游戏中的高分。我该如何解决这个问题?这是代码。
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)
}
}
答案 0 :(得分:0)
您需要使用已声明的highscoreshow
变量,而不是使用highscore
变量。因为在你的highscore
变量中,之前仍有一轮的高分。正如您已经完成的那样,您需要获得保存在NSUserDefaults
中的新高分。所以你需要改变它:
endOfGameHighScoreLabel.text = String(highscore)
对此:
endOfGameHighScoreLabel.text = String(highscoreshow)