Mar*_*oni 2 android achievements google-play-services
我在游戏中有一些增量成就,我想检查其中一个是否已经解锁.我怎样才能做到这一点?
原来我使用这种方法:
getGamesClient().incrementAchievement(achievement, increment);
Run Code Online (Sandbox Code Playgroud)
然后我试着用这个:
mHelper.getGamesClient().incrementAchievementImmediate(new OnAchievementUpdatedListener()
{
@Override
public void onAchievementUpdated(int statusCode, String achievementId)
{
// TODO: Check if the achievement got unlocked
}
}, achievement, increment);
Run Code Online (Sandbox Code Playgroud)
这是做我想要的正确方法吗?有没有更好的办法?
我的测试中只有两个statusCode值.
值:5 = STATUS_NETWORK_ERROR_OPERATION_DEFERRED
值:0 = STATUS_OK
有人可以帮我弄这个吗?
谢谢
class AchievementClass implements ResultCallback<Achievements.LoadAchievementsResult> {
@Override
public void onResult(LoadAchievementsResult arg0) {
Achievement ach;
AchievementBuffer aBuffer = arg0.getAchievements();
Iterator<Achievement> aIterator = aBuffer.iterator();
while (aIterator.hasNext()) {
ach = aIterator.next();
if ("The Achievement Id you are checking".equals(ach.getAchievementId())) {
if (ach.getState() == Achievement.STATE_UNLOCKED) {
// it is unlocked
} else {
//it is not unlocked
}
aBuffer.close();
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Games.Achievements.load(ApiClient, false).setResultCallback(new AchievementClass());
Run Code Online (Sandbox Code Playgroud)
这将获得当前登录的玩家的成就数据,完成所有成就,当它达到您所关注的成就时,它将检查它是否已解锁.
| 归档时间: |
|
| 查看次数: |
2564 次 |
| 最近记录: |