Domanda

Sto usando qui di seguito la funzione per inviare il punteggio al centro del gioco. Come modificare sottostante codice in modo che posso inviare il punteggio solo se è più alto di quanto il punteggio già presentato? E io non voglio mantenere i punteggi a livello locale. Qualsiasi aiuto?

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

Grazie.

Modifica:. Ho appena scoperto che è gestito dal centro di gioco unica ... Solo il punteggio più alto verrà visualizzato sul app GameCenter

È stato utile?

Soluzione

È possibile recuperare il punteggio precedente utilizzando

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.

        }];

}

Maggiori informazioni su Mela GameKit Guida di programmazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top