2013-08-07 15 views
8

SOLVEDAndroid Game API: Leaderboard - Ottieni punteggio giocatore specifico?

Ho una rapida domanda che non riesco a trovare una soluzione specifica. Il problema è che ho una classifica usando l'API di GooglePlay. Quello che voglio fare è ottenere quello che è il punteggio del giocatore per un giocatore individuale e specifico.

Per esempio, voglio mostrare il punteggio che ha nella classifica di una stringa sulla mia attività (non LeaderboardActivity), o metterlo nell'angolo in alto a sinistra del mio gioco.

Come posso fare questo?

Grazie!

+0

Ottima domanda. Ha svalutato lo – Snake

risposta

7

Non so perché le downvotes .. Comunque qui è il modo che ho trovato per risolvere questo:

sulla vostra attività:

if (isSignedIn()) { 
    getGamesClient().loadPlayerCenteredScores(
     this, 
     getResources().getString(R.string.leaderboard_id), 
     LeaderboardVariant.TIME_SPAN_ALL_TIME, 
     LeaderboardVariant.COLLECTION_SOCIAL, 
     25, 
     true 
    ); 
} 

quel momento in poi l'ascoltatore:

@Override 
public void onLeaderboardScoresLoaded(int arg0, LeaderboardBuffer arg1, LeaderboardScoreBuffer arg2) { 
    Iterator<LeaderboardScore> it = arg2.iterator(); 
    while(it.hasNext()) { 
     LeaderboardScore temp = it.next(); 
     Log.d("debug", "player:" + temp.getScoreHolderDisplayName() + " id:" + temp.getScoreHolder().getPlayerId()); 
    } 
} 

Il giocatore è il punteggio centrale quindi se porti dei risultati anche il giocatore dovrebbe trovarsi nel mezzo. Puoi scorrere e verificare se l'ID del giocatore corrisponde.

Cheers.

+1

quale classe implementare per sovrascrivere il metodo onLeaderboardScoresLoaded? Mi potete aiutare per favore? –