如何使用libgdx在android中保存游戏状态/首选项

时间:2013-09-04 07:19:14

标签: android libgdx

我正在尝试使用 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选项实际上有另一个值。

2 个答案:

答案 0 :(得分:8)

将所有值放在

之后
prefs.flush();

这会将数据写入首选项

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

答案 1 :(得分:0)

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