gpt4 book ai didi

android - Google Play 游戏 - 是否可以只为我的游戏过滤用户的经验值?

转载 作者:行者123 更新时间:2023-11-30 01:18:10 24 4
gpt4 key购买 nike

我有一个应用程序,我在其中使用 Google Play 游戏实现游戏化。当用户发布成就时,我需要知道该用户的总分是多少,仅通过我的应用进行过滤。例如,假设我的应用尝试获得 10 个成就,而用户已经发布了其中的 4 个。如何知道该用户发布的这4个成就所产生的总分?有一种简单轻便的方法可以做到这一点吗?

更新

好吧,我试过这段代码,但总是返回零。

    public abstract class GetAchievements {
public void loadAchievements() {
PendingResult<Achievements.LoadAchievementsResult> pendingAchievements = Games.Achievements.load(mGoogleApiClient, true);
pendingAchievements.setResultCallback(new ResultCallback<Achievements.LoadAchievementsResult>() {
@Override
public void onResult(Achievements.LoadAchievementsResult loadAchievementsResult) {
Game game = Games.GamesMetadata.getCurrentGame(mGoogleApiClient);
extractAchievements(loadAchievementsResult, game);
}
});
}

public void extractAchievements(Achievements.LoadAchievementsResult loadAchievementsResult, Game game) {
AchievementBuffer buffer = loadAchievementsResult.getAchievements();
List<Achievement> achievementList = new ArrayList<>();
for (int i = 0; i < game.getAchievementTotalCount(); i++) {
achievementList.add(buffer.get(i));
Achievement a = buffer.get(i);

// aways return 0
Log.d(TAG, "XP = " + a.getXpValue());

}
notifyAchievements(achievementList);
}

public abstract void notifyAchievements(List<Achievement> achievementList);
}

最佳答案

您可以尝试使用 com.google.android.gms.games.achievement 包中的 Achievement 类。

getXpValue

  • XP value given to players for unlocking this achievement.

这里还有 Adding Achievements to Your Android Game 的文档:

This guide shows you how to use the achievements APIs in an Android application to unlock and display achievements in your game.

Displaying achievements

To show a player's achievements, call getAchievementsIntent() to get an Intent to create the default achievements UI. Your game can then bring up the UI by calling [startActivityForResult](https://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)). In the following snippet, REQUEST_ACHIEVEMENTS is an arbitrary integer used as the request code.

startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient),
REQUEST_ACHIEVEMENTS);

关于android - Google Play 游戏 - 是否可以只为我的游戏过滤用户的经验值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37528967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com