カスタム リーダーボードを作成していますが、プレーヤー ID を知りたいだけです。
このスレッドを見つけました:ゲーム センター リーダーボードで史上最高のローカル認証プレイヤーのランク
しかし、私はそれを実装するのに問題があります。ここに私が持っているものがあります:
-(void) retrieveScoresForPlayers:(NSArray*)players
category:(NSString*)category
range:(NSRange)range
playerScope:(GKLeaderboardPlayerScope)playerScope
timeScope:(GKLeaderboardTimeScope)timeScope
{
if (isGameCenterAvailable == NO)
return;
GKLeaderboard* leaderboard = nil;
if ([players count] > 0)
{
//leaderboard = [[[GKLeaderboard alloc] initWithPlayerIDs:players] autorelease];
leaderboard = [[[GKLeaderboard alloc] initWithPlayerIDs:[NSArray arrayWithObject:[GKLocalPlayer localPlayer]]] autorelease];
}
else
{
leaderboard = [[[GKLeaderboard alloc] init] autorelease];
leaderboard.playerScope = playerScope;
}
if (leaderboard != nil)
{
leaderboard.timeScope = timeScope;
leaderboard.category = category;
leaderboard.range = range;
[leaderboard loadScoresWithCompletionHandler:^(NSArray* scores, NSError* error)
{
[self setLastError:error];
//[delegate onScoresReceived:scores];
if (_gkhDelegate != NULL) {
_gkhDelegate->onScoresReceived([self convertNSArrayOfGKScoresToCppVector:scores]);
}
}];
}
}
ただし、ランクを出力するときは常に、実際の数に関係なく常に 1 です。クエリでランクを返していると思われます。リーダーボードで絶対位置を返すにはどうすればよいですか?