GameCenter 与 SpriteKit 的集成

GameCenter Integration with SpriteKit

我只是想在我制作的游戏中记录单个游戏模式的高分。我在 iTunes Connect 的 Game Center 中设置了排行榜。

所以,我的问题是,如何将其集成到我的游戏中?我见过其他解决方案,但似乎无法弄清楚它们如何适合我的项目。

谢谢!

  1. 在您的视图控制器中实现 GKGameCenterControllerDelegate
  2. 创建本地播放器

    var localPlayer: GKLocalPlayer = GKLocalPlayer.localPlayer()
    
  3. viewDidLoad游戏中心对玩家进行鉴权,并提示鉴权成功

    localPlayer.authenticateHandler = {(ViewController, error) -> Void in
        if((ViewController) != nil) {
            self.presentViewController(ViewController, animated: true, completion: nil)
        }
    }
    
  4. 在游戏的任何地方报告你的分数

    if (GKLocalPlayer.localPlayer().authenticated) {
      let gkScore = GKScore(leaderboardIdentifier: "YOUR-LEADERBOARD-ID")
      gkScore.value = Int64(YOUR-SCORE)
      GKScore.reportScores([gkScore], withCompletionHandler: ( { (error: NSError!) -> Void in
            if (error != nil) {
                 // handle error
                 println("Error: " + error.localizedDescription);
            } else {
                 println("Score reported: \(gkScore.value)")
            }
        }))
    }