Question

J'utilise ci-dessous fonction de soumettre au centre pointage de jeu. Comment modifier le code ci-dessous afin que je puisse envoyer le score que si elle est le plus élevé que note déjà soumis? Et je ne veux pas maintenir les scores localement. Toute aide?

- (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];
  }];
}

Merci.

Modifier. Je viens de découvrir qu'il est géré par le centre de jeu seulement ... Seulement le score sera affiché sur le dessus de l'application GameCenter

Était-ce utile?

La solution

Vous pouvez récupérer le score précédent en utilisant

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.

        }];

}

Plus d'informations sur Apple GameKit Guide de programmation

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top