SpriteKit 如何实现 Game Center 排行榜

Posted

技术标签:

【中文标题】SpriteKit 如何实现 Game Center 排行榜【英文标题】:SpriteKit how to implement Game Center leaderboards 【发布时间】:2014-04-10 23:16:55 【问题描述】:

我这几天一直在尝试让 Game Center 排行榜进入我的游戏,但似乎无法理解苹果文档和书籍是如何解释它的。决定现在在这里问,这样我就可以得到我的问题的具体答案。我想要的是尽可能少的代码,它将集成 Game Center 排行榜,这将自动提交您的最高分。除了authenticateUser(甚至不知道如何正确执行此操作)之外,我不知道我还需要什么其他方法。这个游戏是我的第一个编码项目,由于我是自学的,所以在这里提问是我解决问题的唯一真正方法。话虽如此,我将非常感谢任何愿意向我展示如何实施排行榜的人。

- (void) showLeaderboard

    GKGameCenterViewController *leaderboardController = [[GKGameCenterViewController     alloc] init];
if (leaderboardController != nil)

    leaderboardController.leaderboardCategory = self;
    [self presentViewController: leaderboardController animated: YES];

【问题讨论】:

【参考方案1】:

我佩服你的进取心。我的第一个编码项目是一个计算器,它让我兴奋了好几天!

您的问题很简单,但不幸的是答案不是。您说您甚至不确定如何验证用户身份,我的意思是您也不确定您是否正确设置了 iTunes Connect 部分。仅这部分就占满一页来详细解释。

与您尝试执行的操作相关的基本步骤是:

    对本地播放器进行身份验证。 在 iTunes Connect 中配置您的排行榜。 添加相关代码,将分数发送到游戏中心。 在您的应用中添加代码以向您的播放器显示排行榜。

话虽如此,我建议您退后一步,为自己准备一本出色的书,其中详细解释了如何将排行榜添加到您的应用中。如果你不想花一些辛苦赚来的钱,我相信你可以谷歌 SpriteKit 排行榜并提供一些有用的链接,但我建议你考虑购买这本书http://www.raywenderlich.com/store/ios-7-and-ios-games-by-tutorials-bundle

您还可以阅读有关此主题的 Apple 文档。

About Game Center

Game Kit Framework Reference

【讨论】:

对于我发现 authenticateWithCompletionHandler:^(NSError *error) 的 authenticateLocalPlayer 方法,它已被弃用,应该改用什么? 我想这会回答你的问题***.com/questions/14423995/… 另一件事,我的视图控制器中有一个 showLeaderboard 方法,如何在我的另一个类中调用该方法? 首先,你的排行榜方法不应该在你的VC中。它本身应该是一个类,或者合并到您的场景中。其次,调用另一个类的方法需要太复杂的答案,无法用几行来解释。 我已经添加了我的 showLeaderBoard 方法的样子,无论是在它自己的类中还是在场景的类中,我都会得到一个“没有可见界面声明选择器'presentViewController:animated:”,除了 ViewController 我还需要导入其他文件吗?

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

如何在 SpriteKit 游戏中添加普通按钮?

在SpriteKit中产生敌人的波浪

意外的物理体现在SpriteKit场景中

SpriteKit Swift 2.0 游戏:跨多个场景的按钮和节点

无法在 SpriteKit 中正确移动入侵者

SpriteKit 加载新场景但精灵立即下降