Xcode 如何在Swift Spritekit中立即显示我的高分?
我知道如何保存我的高分,但我有一个问题。高分保存,但在我击败分数后不会更新高分。我必须再次比赛并输球,然后它会更新游戏菜单中的最高分。我该如何解决这个问题?这是代码Xcode 如何在Swift Spritekit中立即显示我的高分?,xcode,swift,Xcode,Swift,我知道如何保存我的高分,但我有一个问题。高分保存,但在我击败分数后不会更新高分。我必须再次比赛并输球,然后它会更新游戏菜单中的最高分。我该如何解决这个问题?这是代码 func didBeginContact(contact:SKPhysicsContact){ var defaults=NSUserDefaults() var highscore=defaults.integerForKey("highscore") if(score>highscore)
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)
}
}
您需要使用您声明的
highscoreshow
变量,而不是使用highscore
变量。因为在您的highscore
变量中,仍然存在前一轮的高分。正如您已经做的,您需要获得保存在NSUserDefaults
中的新高分。所以你需要改变这一点:
endOfGameHighScoreLabel.text = String(highscore)
为此:
endOfGameHighScoreLabel.text = String(highscoreshow)