高分&第二视图控制器中的游戏统计数据

时间:2015-10-11 10:10:30

标签: ios swift sprite-kit nsuserdefaults

我正在寻找我目前发布的游戏'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)

有人能帮到这里吗?一旦我做了高分,我就可以自己完成其余的成就。

非常感谢。

1 个答案:

答案 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)

你不是想设置你想要的高分。希望这会有所帮助。