我的保存:
static final String PREFS_NAME = "ScoreGame";
Preferences preferences;
一个可变温度输出到A类
**Preferences preferences;**
int tempGameScore = 0;//class B
int dropsGatchered = 0;
**in create**
preferences = Gdx.app.getPreferences(Drop.PREFS_NAME);
在游戏场景中,我制作了这个,B类
if ((raindrop.y < 0) && !(index >= 15)) {
iter.remove();
game.tempGameScore = game.dropsGatchered;
game.preferences.putInteger("score", game.tempGameScore);
game.preferences.flush();
game.dropsGatchered = 0;
stopGame();
}
C类我得到值并在屏幕上绘制
@Override
public void create() {
game.tempGameScore = game.preferences.getInteger("score");
}
textFont.draw(game.batch, " " + game.tempGameScore, (Drop.WIDTH / 2) - 55,
(Drop.HEIGHT / 2) + 50);
当我关闭应用程序时,我的速度丢失了,我希望她恢复他们的可变游戏。tempGameScore
您的代码和注释似乎是脱节的。你为什么要做一个getInteger("Save"),它与你的putInteger("score")代码不一致。
在create()中,您可以初始化您的首选项,这很好:
game.preferences = Gdx.app.getPreferences(Drop.PREFS_NAME);
但是你需要排队。它们就像一个hashmap,所以你必须使用相同的密钥。
game.tempGameScore = game.preferences.getInteger("score");
稍后,要"保存":
game.preferences.putInteger("score", game.tempGameScore);
game.preferences.flush();