【问题标题】:Any way to programmatically reset leaderboards?有什么方法可以以编程方式重置排行榜吗?
【发布时间】:2011-11-09 10:39:42
【问题描述】:

当我查看 GKScore 和 GKLeaderboard 的文档时,无法将玩家报告的分数重置到 GameCenter 中的特定排行榜。我对吗?

这似乎很不一致,因为可以重置成就:

[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];

有什么想法吗?

【问题讨论】:

  • 我正在寻找同样的东西,但到目前为止还没有。在他们的 GameKit 编程指南中,它显示了如何重置成就,但不显示排行榜。所以我想目前这是不可能的......

标签: iphone game-center leaderboard


【解决方案1】:

你是对的。一旦在实时应用中启动,就无法重置 Game Center 排行榜类别或删除类别。

Apple 确实提供了一种重置成就的方法。

我所知道的唯一解决方法是让旧类别消失,将它们置于底部,将与该类别关联的标签更改为“高分(存档)”之类的东西,然后创建一个新类别并将其标记为“高分”并将其排序到顶部。这会给你一个新鲜的。但是,当然仍然有 25 个排行榜类别的限制 - 所以在某些时候你会被击沉,除非你只是想出如何重用旧的。 (例如,让你的所有分数 x10,以便每个人都能很快超越旧分数)

编辑...在最近的版本中,我确实在最近的应用更新中重复使用了排行榜类别。该类别的最初用途是用于相当低的分数……在低 1000 分中。该类别的新用途将是该类别的 10 倍到 1000 倍。因此,我知道该类别中的任何旧分数都会在游戏的前几场比赛中被抹去。当然类别 ID 不能更改(com.company.app.category),但描述(英文或其他)可以更改。它可能会变得令人困惑,因为在为完全不同的事物保存分数时,您使用的类别具有一个事物的 id。但是使用#define kBlahBlahBlah 到@“com.company.app.blah”,您的代码可以使用任何名称,这样可以很容易地保持直截了当。希望对您有所帮助。

【讨论】:

  • 感谢您的回答,但即使是这种解决方法也不能解决我只想为单个玩家重置分数(而不是重置整个排行榜类别本身)的情况。
  • 技术上我的回答是正确的,我可以使用复选标记。你问有没有办法,没有办法..正确答案。
  • 我花了很长时间创建自己的基于服务器的高分系统,这样我就可以对我的排行榜做我想做的事,包括禁止作弊者和删除虚假分数。我现在可以动态地动态创建它们。我最终可能会向其他开发者开放我的系统。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多