2013-09-04 2 views
2

Я пытаюсь сохранить значения различных переменных, которые моя игра прогрессирует, например, номер логотипа или доступных жизней и т. Д., Используя LIBGDX framework.Как сохранить состояние игры/предпочтения в android с помощью 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 вариант действительно имеет другое значение.

+0

Будьте осторожны с состоянием активности, хранящимся в статических переменных. См. Http://stackoverflow.com/questions/18411126/android-libgdx-prefs-getting-lost/18413472#18413472 –

ответ

0

Важно отметить, что создание особого статический экземпляра является правильным способом перейдите в рамки предпочтений LibGDX, поскольку ОС Android позволяет получить только один экземпляр предпочтений и не более. Смысл, если вы попытаетесь получить больше предпочтений, чем просто один, пары ключ-значение не будут сохранены.

Смежные вопросы