如何检索GKLeaderboard的所有分数? (我正在制作自己的排行榜图形)。我需要知道某个排行榜中的得分数,但似乎没有办法对GC进行民意调查吗?
答案 0 :(得分:1)
我感觉答案是GKLeaderboard的maxRange属性。 文档:
此属性在调用之前无效 loadScoresWithCompletionHandler:已完成。之后,它包含 给出的返回游戏的总条目数 您应用于查询的过滤器。
这就是排行榜表格视图中的行数。
答案 1 :(得分:0)
在苹果文档中,有一个名为检索排行榜分数的部分,他们使用了一个如何获得前10个分数的例子:
- (void) retrieveTopTenScores
{
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.playerScope = GKLeaderboardPlayerScopeGlobal;
leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardRequest.range = NSMakeRange(1,10);
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
// handle the error.
}
if (scores != nil)
{
// process the score information.
}
}];
}
}
我们可以编辑leaderboardRequest
的范围,以获得更多分数,苹果在那里说文件:
范围
从搜索中返回的数字分数排名。
@property(nonatomic, assign) NSRange range
讨论范围
如果使用初始化排行榜请求,则忽略属性 initWithPlayerIDs:方法。否则,使用range属性 过滤哪些分数返回到您的游戏。例如,如果你 指定范围[1,10],搜索完成后,您的游戏 获得前十名。默认范围是[1,25]。
最小索引为1.最大长度为100。
答案 2 :(得分:0)
为了获得所有分数,您需要使用Scar详细信息的范围以块的形式请求它们。通常在游戏中,您会显示100的子集,并为用户提供查看较低子集或较高子集的选项。