如何实现游戏中心排行榜



我无法遵循Stack Overflow上的其他教程和答案,那么如何在Swift的SpriteKit中实现GameCenter排行榜?人们将使用的代码是什么,它会进入GameScene还是GameViewController?我已经在iTunes Connect上设置了一个排行榜。我该怎么做?谢谢!

首先,您必须对播放器进行身份验证:

 var localPlayer = GKLocalPlayer.localPlayer()
    localPlayer.authenticateHandler = {(viewController : UIViewController!, error : NSError!) -> Void in
        if ((viewController) != nil) {
            self.presentViewController(viewController, animated: true, completion: nil)
        }else{
            println((GKLocalPlayer.localPlayer().authenticated))
        }
    }

然后,您可以打开排行榜:

 func showLeaderboard() {

        var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
        gcViewController.gameCenterDelegate = self
        gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards

        gcViewController.leaderboardIdentifier = "YOUR_BOARD_NAME"
        self.showViewController(gcViewController, sender: self)
        self.navigationController?.pushViewController(gcViewController, animated: true)
    }
    func gameCenterViewControllerDidFinish(gcViewController: GKGameCenterViewController!)
    {
        self.dismissViewControllerAnimated(true, completion: nil)
    }

我建议在您的视图控制器中执行这些操作。在 viewDidT出現但不 viewDidLoad 上對播放器進行驗證

最新更新