2013-08-07 25 views
8

SOLVEDAndroid API gry: Tablica rekordów - uzyskaj konkretny wynik gracza?

Mam krótkie pytanie, na które nie mogę znaleźć konkretnego rozwiązania. Problem polega na tym, że mam tabelę wyników wykorzystującą Google Play API. To, co chcę zrobić, to uzyskać wynik gracza dla konkretnego gracza.

Na przykład chcę wyświetlić wynik, który ma w tabeli liderów, w ciągu znaków na mojej aktywności (nie w programie LeaderboardActivity) lub umieścić go w lewym górnym rogu mojej gry.

Jak mogę to zrobić?

Dzięki!

+0

Bardzo dobre pytanie. Modernizowany to – Snake

Odpowiedz

7

nie wiem dlaczego downvotes .. Anyways oto sposób znalazłem rozwiązania to:

Na swojej aktywności:

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

następnie na słuchacza:

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

Gracz jest punktem centralnym, więc jeśli osiągniesz równe wyniki, gracz powinien znajdować się pośrodku. Możesz iterować i sprawdzać, czy id gracza jest zgodny.

Pozdrawiam.

+1

które klasy do realizacji zastąpić metodę onLeaderboardScoresLoaded? Czy możesz mi pomóc? –