iPhone GameCenter отправляет наивысший балл? - PullRequest
7 голосов
/ 06 октября 2010

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

- (void) reportScore: (int64_t) score forCategory: (NSString*) category 
{
 GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease]; 
 scoreReporter.value = score;
 [scoreReporter reportScoreWithCompletionHandler: ^(NSError *error) 
  {
   [self callDelegateOnMainThread: @selector(scoreReported:) withArg: NULL error: error];
  }];
}

Спасибо.

Редактировать: Я только что обнаружил, что она обрабатывается только игровым центром ... В приложении Gamecenter будет отображаться только лучший результат.

1 Ответ

3 голосов
/ 06 октября 2010

Вы можете получить предыдущий счет, используя

GKLeaderboard *query = [[GKLeaderBoard alloc] initWithPlayerIDs:[NSArray arrayWithObject:yourPlayerId]];

if (query != nil)

{

    [query loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {

        if (error != nil)

            // handle the error.

        if (scores != nil)

            // process the score information.

        }];

}

Получить дополнительную информацию о Руководство по программированию Apple GameKit

...