我有3种不同的游戏关卡。所以在Google Play游戏服务中需要为Leaderboard发布三种不同的高分。我不明白这一点。我做的是我创建了一个方法
public void submitScoreGPGS(int score);
{
Games.Leaderboards.submitScore(gameHelper.getApiClient(),"id", score);
}
public void getLeaderboardGPGS() {
if (gameHelper.isSignedIn())
{
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(gameHelper.getApiClient(), ""), 100);
}
else if (!gameHelper.isConnecting())
{
loginGPGS();
}
}
对于submitScore()我只是在每个级别的Game over上调用此方法并从那里发送高分。
但是当我调用getLeaderboardGPGS()时,它只显示最后一级的高分。
所以我不知道如何实现这个多重排行榜。
答案 0 :(得分:3)
您应该创建多个排行榜,并在代码中使用不同的ID。像这样:(未经测试)
private static String LEADERBOARD0_ID = "";
private static String LEADERBOARD1_ID = "";
public void submitScoreGPGS(int score, int level);
{
String id = "";
if(level == 0)
id = LEADERBOARD0_ID;
else if(level == 1)
id = LEADERBOARD1_ID;
Games.Leaderboards.submitScore(gameHelper.getApiClient(),id , score);
}
public void getLeaderboardGPGS()
{
if (gameHelper.isSignedIn())
{
String id = "";
if(level == 0)
id = LEADERBOARD0_ID;
else if(level == 1)
id = LEADERBOARD1_ID;
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(gameHelper.getApiClient(), id), 100);
}
else if (!gameHelper.isConnecting())
{
loginGPGS();
}
}
答案 1 :(得分:1)
要将分数发送到多个排行榜,需要创建所有这些多重排行榜,并将分数发送给特定排行榜。
要在单击按钮上立即呼叫所有排行榜,请使用此
on getleaderboard()
startActivityForResult( Games.Leaderboards.getAllLeaderboardsIntent( gameHelper.getApiClient()), 1 );
。可能会帮助别人。