如何在 android libgdx 游戏中实现多个(针对不同游戏级别)排行榜?

how to implement multiple(for different game levels) leaderboard in android libgdx game?

我有 3 个不同的游戏 levels.So 需要在 google 游戏服务上为排行榜发布三个不同的高分。我不明白这一点。我所做的是创建了一个方法

 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(),我只是在每个级别的游戏结束时调用此方法并从那里发送高分。

但是当我调用 getLeaderboardGPGS() 时它只显示最后一关的最高分。

所以我不知道如何实现这个多重排行榜。

您应该创建多个排行榜并在您的代码中使用它们不同的 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();
  }
}

要将分数发送到多个排行榜,需要创建所有这些多个排行榜,并将分数发送到特定的排行榜。

要单击一次按钮立即调用所有排行榜,请使用此

getleaderboard()

startActivityForResult( Games.Leaderboards.getAllLeaderboardsIntent( gameHelper.getApiClient()), 1 ); 

。可能会帮助某人。