我想在我的应用中显示localPlayer
朋友排行榜。我知道我只能从游戏中心得到朋友的分数,但我如何得到他们的显示名称?我知道我可以使用loadPlayersForIdentifiers
,但是我必须拨打两个电话吗?一个得到他们所有的朋友的名字,一个得到排行榜,他们匹配他们?这似乎有点低效?
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardRequest.category = @"HighScore";
leaderboardRequest.range = NSMakeRange(1,100);
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
// Handle the error.
}
if (scores != nil)
{
GKScore* myScore = leaderboardRequest.localPlayerScore;
NSLog(@"Me: %@: %d",myScore.playerID, (int)myScore.value);
// Process the score information - here I would filter
for (GKScore* score in scores)
{
NSLog(@"%@: %d",score.playerID, (int)score.value);
}
}
}];
}
答案 0 :(得分:0)
根据(在清单4-12中):
在从排行榜加载得分范围后,您必须使用GKScore
playerID
属性来获取玩家的别名。这是正确显示自定义排行榜的唯一方法。您可以将别名延迟加载到UITableView
。
如何执行此操作在以下文档的清单3-5中进行了描述: