如何更新或覆盖 libGdx 中的首选项值
How can I UPDATE or OVERWRITE the value of a preference in libGdx
我是 android 开发的新手,我被困在一个部分,如果用户超过历史最高点,我希望根据我的偏好覆盖我的高分变量的值分数。
这就像一个偏好,它将存储用户的历史最高分,并在用户超过该特定最高分时更新。
我做的是:
最初为名为 HighScore 的偏好变量分配了一个值 0,然后对其进行了评论,因此最初它会得到 0。
//preferences.putInteger("HighScore",0);
然后我想根据这种情况更新首选项,其中 highScore 变量在每个 运行 游戏中初始化为 0,并且当用户玩游戏时,当前分数分配给高分变量。
if(preferences.getInteger("HighScore")<highScore){preferences.putInteger("HighScore",highScore)}
- 当我记录值时,即使条件为真,首选项的值仍然不会更新。
第一步显然在实际游戏中行不通。不妨从一开始就把它做好。当您获得首选项值时,您还可以传递默认值(如果尚不存在)。因此,您可以在每次游戏加载时以完全相同的方式执行此操作,包括第一次:
int highScore = preferences.getInteger("HighScore", 0);
在首选项中输入值后,您必须调用 flush()
才能将其实际保存到磁盘。
if (preferences.getInteger("HighScore", 0) < highScore) {
preferences.putInteger("HighScore", highScore);
preferences.flush();
}
我是 android 开发的新手,我被困在一个部分,如果用户超过历史最高点,我希望根据我的偏好覆盖我的高分变量的值分数。 这就像一个偏好,它将存储用户的历史最高分,并在用户超过该特定最高分时更新。
我做的是:
最初为名为 HighScore 的偏好变量分配了一个值 0,然后对其进行了评论,因此最初它会得到 0。
//preferences.putInteger("HighScore",0);
然后我想根据这种情况更新首选项,其中 highScore 变量在每个 运行 游戏中初始化为 0,并且当用户玩游戏时,当前分数分配给高分变量。
if(preferences.getInteger("HighScore")<highScore){preferences.putInteger("HighScore",highScore)}
- 当我记录值时,即使条件为真,首选项的值仍然不会更新。
第一步显然在实际游戏中行不通。不妨从一开始就把它做好。当您获得首选项值时,您还可以传递默认值(如果尚不存在)。因此,您可以在每次游戏加载时以完全相同的方式执行此操作,包括第一次:
int highScore = preferences.getInteger("HighScore", 0);
在首选项中输入值后,您必须调用 flush()
才能将其实际保存到磁盘。
if (preferences.getInteger("HighScore", 0) < highScore) {
preferences.putInteger("HighScore", highScore);
preferences.flush();
}