1

彼らのサポートで OpenFeint はこれを提供しますが、私にはよくわかりません。トップ 10 などのリーダーボード データを取得して、独自の UI に表示するにはどうすればよいですか?

元のリンク: http://www.openfeint.com/ofdeveloper/index.php/kb/article/000028

[OFHighScoreService getPage:1 forLeaderboard:@"leaderboard_id_string" friendsOnly:NO silently:YES onSuccess:OFDelegate(self, @selector(_scoresDownloaded:)) onFailure:OFDelegate(self, @selector(_failedDownloadingScores))];

- (void)_scoresDownloaded:(OFPaginatedSeries*)page
{
    NSMutableArray* highscores = nil;

    if ([page count] > 0)
    {
        if ([[page objectAtIndex:0] isKindOfClass:[OFTableSectionDescription class]])
        {
            // NOTE: In the following line, we access "[page objectAtIndex:1]" to retrieve high scores from
            // the global leaderboard.  Using "[page objectAtIndex:0]" would retrieve scores just for the local player.
            // Older versions of OpenFeint did not break this out into 2 sections.
            highscores = [(OFTableSectionDescription*)[page objectAtIndex:1] page].objects;
        }
        else
        {
            highscores = page.objects;
        }
    }

    for (OFHighScore* score in highscores)
    {
        // ...
    }
}
- (BOOL)canReceiveCallbacksNow
{
    return YES;
} 
4

1 に答える 1

2

ハイスコ​​アのページをリクエストするコードは最初の行です。

[OFHighScoreService getPage:1 forLeaderboard:@"leaderboard_id_string" friendsOnly:NO silently:YES onSuccess:OFDelegate(self, @selector(_scoresDownloaded:)) onFailure:OFDelegate(self, @selector(_failedDownloadingScores))];

この行を、ハイ スコアのクエリを開始する場所に配置します。必要に応じてページ番号を変更できます。ハイスコ​​アのページが取得されると、コールバック_scoresDownloadedが呼び出されます。この例は、配列OFHighScore内のオブジェクトを反復処理する方法を示しています。highscoresコメント// ...を独自のコードに置き換えて、プレーヤーなどにスコアを表示します。

(エラー_failedDownloadingScoresが呼び出された場合は、エラーを表示するように実装する必要があります。)

于 2010-08-27T23:41:18.227 に答える