В каких методах методов следует сохранено/загружено состояние игры
Вопрос
Есть много статей о том, как спасти состояние игры, и они довольно хороши. Но у меня есть одно концептуальное недопонимание, где я должен спасти государство?
В моей игре Libgdx есть количество экранов, и их пара Mainmenuscreen а также Mainscenescreen Они унаследованы от Экран учебный класс. Mainmenuscreen показан в начале игры Mainscenescreen немного позже.
В чем проблема? Я перемещался Mainscenescreen, вынужден Android остановить приложение (я меняю настройки языка на устройстве для достижения этого). После этого я снова выберу приложение и вижу Mainmenuscreen Показано. Но я хочу Mainscenescreen быть показанным.
Я полагаю, я должен отменить resume
метод Но какой? у меня урок PSGAME это распространяется Игра Класс Libgdx. Я ставлю точки останова в его resume
Метод, и оказалось, что метод не был вызван. Я исследовал проблему и нашел этот странный код в onResume
метод AndroidApplication класс в Libgdx:
if (!firstResume)
graphics.resume();
else
firstResume = false;
Мой отладчик сказал Firstresume был правдой и не ходил в graphics.resume () линия.
- Что я сделал не так?
- Какие методы я должен переопределить?
Решение
Я думаю, что вы правильно сузили, и вы должны восстановить сохраненное состояние во время resume
метод вызов на ваш Game
подкласс. Это следует вызвать, если вы немного переключитесь на какое -то другое приложение, а затем переключитесь обратно в ваше приложение (не проходя через шаги, которые приведут к прекращению приложения). По какой -то причине Libgdx не перестает resume
Позвоните для первоначального запуска (этот дизайн, вероятно, является хорошей идеей в долгосрочной перспективе, но при запуске немного сбивает с толку). Достаточно легко вызвать код восстановления из create
Метод в вашем Game
(Что используется только при стартапе приложения), чтобы получить первое начало вашей игры, чтобы «резюме».