Libgdx:不同的偏好配置文件

时间:2016-01-28 11:32:42

标签: libgdx preferences

我已经四处寻找并且没有发现任何与我想要达到的目标有关的事情。

尽可能简单地解释。我的应用程序存储了各种数量的值,基本上作为用户的设置。现在我想要的是让用户能够在不同的首选项文件之间切换。喜欢不同的档案。 因此,只需单击一个按钮,通过应用程序的所有Preferences实例将开始读取具有不同值的不同文件,例如:

main.preferences = Gdx.app.getPreferences("prefs_2");

其中第一个配置文件将是“prefs_1”,而应用程序启动时默认加载该配置文件。我不知道如果只更改上面显示的首选项文件就可以了。但我希望它能让我知道我的想法。

当点击该按钮更改首选项文件时,应用程序将在应用程序中的所有类中读取该文件的值,直到重新启动它将返回到默认文件:

public class Main extends Game {
public SpriteBatch batch;
public ShapeRenderer renderer;
private Assets assets;

//Local Preferences
public Preferences preferences;

public Main(utilsInterface utils){
    this.utils = utils;
}
@Override
public void create () {
    batch = new SpriteBatch();
    renderer = new ShapeRenderer();
    assets = new Assets();
    preferences = Gdx.app.getPreferences("prefs_1");

    setScreen(new SplashScreen(this));
}
@Override
public void render () {
    super.render();

}
@Override
public void resize(int width, int height) {
    super.resize(width, height);
}

@Override
public void dispose() {
    super.dispose();
    assets.dispose();
    batch.dispose();
    renderer.dispose();
}
@Override
public void pause() {
    // TODO Auto-generated method stub
    super.pause();
    // Logs 'app deactivate' App Event.
    // AppEventsLogger.deactivateApp(this);
}
@Override
public void resume() {
    // TODO Auto-generated method stub
    super.resume();
    //Assets.manager.finishLoading();
    // Logs 'install' and 'app activate' App Events.
}

}

注意* 我在整个应用程序中使用主类中相同的首选项实例。

1 个答案:

答案 0 :(得分:1)

是的,这会有用。

如果您使用其他设置文件,它将使用该文件的设置。只需确保所有设置都有默认值,这样如果创建了一个新文件(当你打开一个不存在的文件时,写入并刷新它),你仍然可以使用它而不用写入所有设置。