如何实现 GameCenter 排行榜? [关闭]

Posted

技术标签:

【中文标题】如何实现 GameCenter 排行榜? [关闭]【英文标题】:how do I implement GameCenter Leaderboard? [closed] 【发布时间】:2015-01-24 22:26:52 【问题描述】:

我无法在 Stack Overflow 上关注其他教程和答案,那么如何在我的游戏中,在 Swift 的 SpriteKit 中实现 GameCenter 排行榜?将使用什么代码,它会放在 GameScene 还是 GameViewController 中?我已经在 iTunes Connect 上设置了排行榜。我该怎么办?谢谢!

【问题讨论】:

【参考方案1】:

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

 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)
    

我建议在您的视图控制器中执行这些操作。在 viewDidAppear 上验证播放器,但不是 viewDidLoad

【讨论】:

我需要导入什么? GameKit。我建议你在提问之前做一些研究。 Apple 记录了所有这些信息:developer.apple.com/library/prerelease/ios/documentation/… 编辑:如果你被灌输代码,你将不会学到任何东西。尝试查看文档以实际学习。 感谢您的快速回复!我收到用户未登录的错误,即使我在 IOS 设备上运行它并且我已登录 GameCenter。 您需要使用沙盒帐户。您不能使用普通的 Game Center 帐户。 非常感谢!你是救世主!

以上是关于如何实现 GameCenter 排行榜? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

SpriteKit 如何实现 Game Center 排行榜

GameCenter - 每个级别都有一个排行榜

如何在 tvOS 中打开 GameCenter

如何更改 Game Center (iOS) 中的排行榜图标?

GameCenter

如何重新验证游戏中心?