我有一个简单的问题(可能很愚蠢),但是没有找到一个四处寻找答案。

我正在尝试在使用libgdx构建的游戏中保留一个简单的偏好设置,即“高分”。

这是我的示例代码-

Preferences prefs2;
prefs2= Gdx.app.getPreferences("MyPreferences");
prefs2.putString("name", "Donald Duck");
String name = prefs2.getString("name", "No name stored");
font.draw(textBatcher, name, 55, 55);


除了一件事,代码中的所有内容(读写xml文件MyPreferences)均按预期工作。重新启动游戏时,文件中存储的高分不起作用。我肯定知道我缺少一些非常简单的东西,但是不知道它是什么:)

谁能帮帮我吗 ?
我也尝试过-

Preferences prefs2;
if (prefs2 == null){
prefs2= Gdx.app.getPreferences("MyPreferences");
}


但是,它似乎不起作用。

最佳答案

将高分项目添加到首选项对象后,您缺少对prefs2.flush()的调用。
直接来自libgdx文档:

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/Preferences.html#flush()

10-08 16:49