2013-08-07 6 views
8

GelöstAndroid-Spiel-API: Bestenliste - Spezifische Spielerwertung erhalten?

Ich habe eine kurze Frage, dass ich keine spezifische Lösung finden kann. Das Problem ist, dass ich ein Leaderboard mit GooglePlay-API habe. Was ich tun möchte, ist eigentlich, was ist der Spieler-Score für einen individuellen und spezifischen Spieler.

Zum Beispiel möchte ich die Punktzahl, die er in der Bestenliste auf einem String auf meiner Aktivität (nicht LeaderboardActivity) hat, oder in der oberen linken Ecke meines Spiels anzeigen.

Wie kann ich das tun?

Danke!

+0

Sehr gute Frage. Upvoted es – Snake

Antwort

7

weiß nicht, warum die downvotes .. Sowieso ist hier die Art, wie ich dieses Problem zu lösen gefunden:

Auf Ihrer Aktivität:

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

dann auf den Hörer:

@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()); 
    } 
} 

Der Spieler ist die zentrale Punktzahl. Wenn Sie also gleichwertige Ergebnisse erzielen, sollte der Spieler in der Mitte sein. Sie können iterieren und prüfen, ob die Spieler-ID übereinstimmt.

Prost.

+1

welche Klasse zu implementieren, um OnLeaderboardScoresLoaded-Methode zu überschreiben? Kannst du mir bitte helfen? –