GameCenter与SpriteKit集成

时间:2015-06-23 03:35:44

标签: ios swift game-center

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

  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)")
            }
        }))
    }