我正在寻找我目前发布的游戏'Ginger Cat'。现在我已经将游戏玩法提升到所需的水平,我想添加一个游戏统计页面,它将赞扬游戏中心的成就和排行榜。
目前我的GameScene.swift
拥有我的高分,并使用此代码显示在正确的视图控制器上
highScore = 0
highScoreLabelNode.fontName = "Helvetica-Bold"
highScoreLabelNode.position = CGPoint(x: self.frame.size.width / 2.48, y: self.frame.size.height / 1.17 )
highScoreLabelNode.fontSize = 30
highScoreLabelNode.alpha = 0.7
highScoreLabelNode.text = "Highscore \(score)"
let highScoreDefault = NSUserDefaults.standardUserDefaults()
if (highScoreDefault.valueForKey("Highscore") != nil){
highScore = highScoreDefault.valueForKey("Highscore") as! NSInteger!
highScoreLabelNode.text = NSString(format: "Highscore : %i", highScore) as String
}
self.addChild(highScoreLabelNode)
现在我想做的是在当前连接和设置的statsViewController
上显示相同的高分。显然我想使用NSUserDefaults
,但它不能仅仅在stats视图控制器中复制上面的代码。
更新来自StatsViewController
let highscoreDefault = NSUserDefaults.standardUserDefaults()
highscoreDefault.setValue(highScore, forKey: "Highscore") //Expected Declaration error on this line
highscoreDefault.synchronize()
highScoreLabelNode.fontName = "Helvetica-Bold"
highScoreLabelNode.position = CGPoint(x: self.frame.size.width / 2.48, y: self.frame.size.height / 1.17 )
highScoreLabelNode.fontSize = 30
highScoreLabelNode.alpha = 0.7
highScoreLabelNode.text = "Highscore \(score)"
self.addChild(highScoreLabelNode)
有人能帮到这里吗?一旦我做了高分,我就可以自己完成其余的成就。
非常感谢。
答案 0 :(得分:0)
我猜你想要这个数据......
let highscoreDefault = NSUserDefaults.standardUserDefaults()
let score = highscoreDefault.valueForKey("HighScore")
highScoreLabelNode.fontName = "Helvetica-Bold"
highScoreLabelNode.position = CGPoint(x: self.frame.size.width / 2.48, y: self.frame.size.height / 1.17 )
highScoreLabelNode.fontSize = 30
highScoreLabelNode.alpha = 0.7
highScoreLabelNode.text = "Highscore \(score)"
self.addChild(highScoreLabelNode)
你不是想设置你想要的高分。希望这会有所帮助。