2

我正在尝试使用LIBGDX框架保存我的游戏正在进行的各种变量的值,例如徽标编号或可用生命等。

代码是这样的:

static Preferences prefs = Gdx.app.getPreferences("My_state");
public static void ContinuePutstate() {
    prefs.putInteger("option", MenuScreen.option);
    prefs.putInteger("lifes", Loadassets.lifes);
    prefs.putInteger("hammertouch", Loadassets.hammertouch);
    prefs.putInteger("multilogonum", Loadmultiple.multilogonum);
    prefs.putInteger("brushtouch", Loadassets.brushtouch);
    prefs.putInteger("leveluser", Loadassets.Leveluser);
    prefs.putInteger("iconnumber", CorrectScreen.iconnumber);

    System.out.println("HAd saved option "+prefs.getInteger("option")+" and original option is "+MenuScreen.option);
}

当我尝试打印时,我得到选项 0 但menuscreen选项实际上有另一个值。

4

2 回答 2

8

使用所有值后

prefs.flush();

这会将数据写入首选项

https://code.google.com/p/libgdx/wiki/Preferences#Flushing

于 2013-09-04T07:27:34.337 回答
0

需要注意的是,创建一个单一的静态实例是使用 LibGDX 首选项框架的正确方法,因为 Android 操作系统只允许您获取一个首选项实例,而不是更多。这意味着,如果您试图获得更多的首选项,而不仅仅是一个,键值对将不会被保存。

于 2014-04-27T14:29:47.410 回答