我遵循了这个建议post。我现在有
class GameOverScene: SKScene {
var score = 0
override func didMoveToView(view: SKView) {
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
if score > NSUserDefaults.standardUserDefaults().integerForKey("highscore") {
NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "highscore")
NSUserDefaults.standardUserDefaults().synchronize()
}
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
}
}
我有更多代码,当满足某个参数时,会在分数上加1。但我的问题是如何在另一个场景中回忆起("高分")键。当游戏结束时,会调用另一个场景,它被称为GameOverScene。
class GameOverScene: SKScene {
var gameOverLabel = SKLabelNode()
override func didMoveToView(view: SKView) {
gameOverLabel.text = //here I want the highScore to be displayed
gameOverLabel.fontColor = UIColor.blackColor()
gameOverLabel.fontName = "Helvetica"
gameOverLabel.fontSize = 100
gameOverLabel.position = CGPointMake(frame.midX, frame.midY)
self.addChild(gameOverLabel)
}
}
我需要做些什么才能将高分数添加到我的场景中
答案 0 :(得分:0)
该行
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
什么都不做(两次)。您可以通过将用户默认值分配给变量来检索值,例如显示它们
let score = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
label.text = "\(score)"
您可以在if
关闭的第一行中设置。