0

最大 2 人のプレーヤーでターン ベースの iPhone ゲームを作成しています。このゲームでは、ゲーム センターのリーダーボードに配置されるスコアを取得できます。次回ゲームを開始すると、最高スコアが取得され、アプリはその前のハイスコアからカウントされるため、さらに高くすることができます。認証されたプレーヤーのスコアを取得するコードを見つけましたが、あなたがプレイしている対戦相手のスコアも表示したいのですが、どうすればよいでしょうか?

これは、認証されたプレーヤー (自分自身) に対して見つけたコードです。

 if([GKLocalPlayer localPlayer].authenticated) {
NSArray *arr = [[NSArray alloc] initWithObjects:[GKLocalPlayer localPlayer].playerID, nil];
GKLeaderboard *board = [[GKLeaderboard alloc] initWithPlayerIDs:arr];
if(board != nil) {
    board.timeScope = GKLeaderboardTimeScopeAllTime;
    board.range = NSMakeRange(1, 1);
    board.category = @"MY_LEADERBOARD";
    [board loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
        if (error != nil) {
            // handle the error.
            NSLog(@"Error retrieving score.", nil);
        }
        if (scores != nil) {
            NSLog(@"My Score: %i", ((GKScore*)[scores objectAtIndex:0]).value);
        }
    }];
}
[board release];
[arr release];
}

これを変更して、私が望むものを表示する方法はありますか? また、 NSLog(@"My Score: %i", ((GKScore*)[scores objectAtIndex:0]).value); の表示に問題があります。UILabel で:S

誰かが私を助けてくれることを願っています

4

1 に答える 1

0

NSLog(@"My Score: %lld", ((GKScore*)[scores objectAtIndex:0]).value);

スコア値は int ではなく 64 ビット整数です

intValue longValue longLongValue <<==

于 2012-11-09T12:34:26.657 に答える