Libgdx: 不同的偏好设置
Libgdx: Different profiles of Preferences
我四处搜索,没有找到与我想要实现的目标相关的任何内容。
尽可能简单的解释。我的应用程序存储各种值,基本上充当用户的设置。现在我想要的是让用户能够在不同的首选项文件之间切换。喜欢不同的配置文件。
因此,单击一个按钮,通过应用程序的所有首选项实例将开始读取具有不同值的不同文件,例如:
main.preferences = Gdx.app.getPreferences("prefs_2");
第一个配置文件应该是 "prefs_1" 而不是在应用程序启动时默认加载。我不知道像上面显示的那样更改首选项文件是否完全有效。但我希望它能说明我的想法。
并且当单击该按钮更改首选项文件时,该应用程序将读取该应用程序中所有 class 文件的值,直到它重新启动并返回到默认文件:
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.
}
}
注意* 我在整个应用程序中使用来自主 class 的相同首选项实例。
是的,这会起作用。
如果您使用不同的设置文件,它将使用该文件的设置。只要确保所有设置都有默认值,这样如果创建了一个新文件(当您打开一个不存在的文件时,写入并刷新它)您仍然可以使用它而无需写入所有设置。
我四处搜索,没有找到与我想要实现的目标相关的任何内容。
尽可能简单的解释。我的应用程序存储各种值,基本上充当用户的设置。现在我想要的是让用户能够在不同的首选项文件之间切换。喜欢不同的配置文件。 因此,单击一个按钮,通过应用程序的所有首选项实例将开始读取具有不同值的不同文件,例如:
main.preferences = Gdx.app.getPreferences("prefs_2");
第一个配置文件应该是 "prefs_1" 而不是在应用程序启动时默认加载。我不知道像上面显示的那样更改首选项文件是否完全有效。但我希望它能说明我的想法。
并且当单击该按钮更改首选项文件时,该应用程序将读取该应用程序中所有 class 文件的值,直到它重新启动并返回到默认文件:
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.
}
}
注意* 我在整个应用程序中使用来自主 class 的相同首选项实例。
是的,这会起作用。
如果您使用不同的设置文件,它将使用该文件的设置。只要确保所有设置都有默认值,这样如果创建了一个新文件(当您打开一个不存在的文件时,写入并刷新它)您仍然可以使用它而无需写入所有设置。