因此,我正在使用 Eclipse 编写一个 Java 游戏,该游戏使用 Google Play 游戏服务来处理我的成就。我已经完成了 sample games provided by Google 中的所有操作,除了我将 GameHelper 直接添加到我现有的 Activity 中而不是使用 BaseGameActivity。现在我有一个问题。如果玩家使用一台设备解锁实际影响游戏的成就,我如何才能让另一台设备发现解锁的成就?
经过一些浏览,我发现我应该使用 mHelper.getGamesClient().loadAchievements(OnAchievementsLoadedListener listener)
然后使用那个 onAchievementsLoaded (int statusCode, AchievementBuffer buffer)
听众。 AchievementBuffer 缓冲区
似乎包含 all the data I want .
现在的问题是我不知道如何使用这个监听器。我应该把它放在哪里,我应该调用 loadAchievements()
还是在登录时自动调用等等。
如果有人能帮我解决这个问题就太好了:)
最佳答案
事实上,Achievement 缓冲区将包含您想要的所有数据(如果返回的 statusCode 为 STATUS_OK)。您可以通过以下方式从您的 Activity (每个示例扩展 BaseGameActivity)中“按需”加载成就:
getGamesClient().loadAchievements(new OnAchievementsLoadedListener() {
@Override
public void onAchievementsLoaded(int statusCode, AchievementBuffer buffer) {
if (statusCode == GamesClient.STATUS_OK) {
int achievementsCount = buffer.getCount();
[...]
}
buffer.close();
}
});
不要忘记关闭缓冲区。
关于android - Google Play 游戏服务成就加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17392426/