检索与玩家得分相似/接近的游戏中心得分

时间:2011-08-03 22:09:02

标签: ios gamekit game-center

我想在其他球员的高分中显示球员的高分。换句话说,我想创建一个列表,显示玩家与竞争对手相比的位置。

列表可能如下所示:

  

1st:1,000,000

     

...

     

436th:125,285

     

437th:124,132(你的分数)

     

438th:120,998

     

439th:119,212

     

...

     

1012th:1,433

此示例显示全球最高和最低分数,以及与玩家个人最佳分数相近的分数。

有没有办法使用GameKit检索这样的列表?

编辑/更新:我稍微改写了这个问题并将其发布到Apple开发人员论坛here

1 个答案:

答案 0 :(得分:5)

嗯,AFAIK在一个请求中没有这样的方法,但是GC会在每个分数请求中返回您自己的分数,因此您可以先在排行榜中请求任何(例如第一行),确定您自己的位置,然后创建位置从:your_own-desired_range到:your_own + desired_range。

的新请求
_leaderboard.category    = kLeaderboardID;
_leaderboard.timeScope   = GKLeaderboardTimeScopeAllTime;
_leaderboard.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
_leaderboard.range       = NSMakeRange(1, 1);
[_leaderboard loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error){

  //processing, checking errors, etc
  _leaderboard.range = NSMakeRange([_leaderboard.localPlayerScore rank] - 4, 8);
  [_leaderboard loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error){
    // Here are your results
  }
}