【问题标题】:how to keep on adding the recent score in achievement in a game如何在游戏中继续添加最近的成就分数
【发布时间】:2017-07-03 05:01:44
【问题描述】:

我正在开发一款游戏,我想继续将当前播放的分数添加到之前的播放分数。

例如,如果我之前的分数是 10,而我现在的分数是 20,那么我希望排行榜将 30 显示为我的分数。

但我的问题是每次我推送我的分数时,排行榜中只会显示最高分数。

我正在使用此代码提交分数。

Games.Leaderboards.submitScore(mGoogleApiClient, LEADERBOARD_ID, 20);

我该怎么办?这真的可以吗。

【问题讨论】:

  • 是的,这是可能的。先把之前的highScore取为int,我假设LEADERBOARD_ID是之前的highScore,当前的得分为int,加起来再提交给mGoogleApuClient
  • 这是正确的方法吗?我也这么想。
  • 这是最简单的方法。获取最高和存储的当前更新。无需共享首选项
  • 非常感谢您的回答,我将只使用这种方法。

标签: android google-play-games leaderboard


【解决方案1】:

尝试像这样使用 SharedPreferences 保存它:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit(); 
editor.putInt("score", 20);
editor.apply();

然后像这样再次得到最后的分数:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredScore= prefs.getInt("score", 0);

if (restoredScore != 0) {
  // do something with the score
}else{
  // the score did not exist
}

这里有更多关于 SharedPreferences 的信息:

https://developer.android.com/guide/topics/data/data-storage.html#pref

【讨论】:

  • 如果播放器清除应用程序中的所有数据会怎样
  • @ApplicationFan 在游戏启动时添加查看分数,如果没有分数,则设置默认值,这样即使玩家清除所有数据也会有分数
  • 有没有其他方法可以让我简单地添加分数并将其添加到排行榜中(开发者控制台中的任何设置),因为我认为 SharedPreferences 不起作用。
  • 你绝对不应该使用SharedPreferences,在这样的事情上使用SharedPreferences是不好的做法,而且没有必要。
  • @H.Brooks 提供链接和帖子来证明这一说法
猜你喜欢
  • 1970-01-01
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
相关资源
最近更新 更多