2010-08-27 3 views
1

В их поддержку OpenFeint дает вам это, но я не совсем понимаю. Как я могу получить данные таблицы лидеров, скажем, десятку и показать ее в своем собственном интерфейсе?Как получить высокие баллы от OpenFeint?

Оригинальная ссылка: 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; 
} 
+0

как добиться этого. можете ли вы поделиться своим кодом для получения локального топ-10 рекорда из openfeint – Srinivas

+0

или объяснить, как это можно сделать. для меня только один балл обновляется ...... я хочу топ 10 – Srinivas

ответ

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 называется, вы должны осуществить это, чтобы показать ошибку.)

+1

Ahh thats имеет большой смысл сейчас, поэтому мне просто нужно было бы положить nsmutablearray рекорды в таблицу? Меня смущает то, как я могу это сделать, когда он имеет несколько разделов, если вам нравится, он содержит имя игрока, его оценку и рейтинг. Я никогда не работал с массивом, который имеет несколько разделов вроде этого, как бы я его отобразил? –

+0

Разработал это благодаря! –