Im изо всех сил, чтобы понять, как сохранить/прочитать булевы от предпочтений в LIBGDX. То, что я использую для них, это то, что пользователь купил элемент, тогда логическое значение должно быть истинным и быть сохранено как true, пока другое логическое значение не станет истинным, тогда первое будет ошибочным. Надеюсь, что я действительно понимаю.Сохранение булевы в настройках
Это то, что I've сделано:
экрана, где они делают покупки и нажимает на кнопку, чтобы сделать изменения:
PurcScreen implements Screen {
changeStone1.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
ss.prefs.getBoolean("stone1", true);
game.setScreen(ss);
}
});
И это экран, на котором объект они приобрели должны составляется в зависимости от Wether или нет логического значения истинно/ложно:
MainScreen implements Screen {
public boolean stone1, stone2
public MainScreen {
stone1 = prefs.getBoolean("stone1");
stone2 = prefs.getBoolean("stone2");
if(stone1){
setStone1();
}
if(stone2){
setStone2();
}
show() {
if(stone1) {
setStone2();
prefs.putBoolean("stone1", true);
prefs.putBoolean("stone2", false);
}
if(stone2) {
setStone2();
prefs.putBoolean("stone1", false);
prefs.putBoolean("stone2", true);
}
btnSave.addListener(new ChangeListener() {
@override
public void changed(ChangeEvent event, Actor actor) {
prefs.putBoolean("stone1", stone1);
prefs.putBoolean("stone2", stone2);
prefs.flush();
}
с помощью этого кода, в булевы arn't хранится. Образуется изображение/объект stone2. Но когда я нажимаю кнопку «SaveButton» и снова вводит экран, оригинальный объект stone1 снова рисуется.
Это не ответ, но я просто хотел бы отметить, что если вы хотите, чтобы избежать обмана, используя встроенный в настройках не лучший способ LibGDX, особенно если вы план развертывания на рабочем столе. На рабочем столе всем игрокам нужно будет отредактировать простой XML-файл и изменить значение на true. Я бы предложил создать вашу собственную систему сбережений и зашифровать ее. – vedi0boy
Спасибо за ввод. Im noy развертывание на рабочий стол. – Benni
Bradley, commit() больше не существует. Это из старой версии libgdx. – Benni