如何在 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 );
。可能会帮助某人。
我有 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 );
。可能会帮助某人。