Сохранить состояние игры после паузы.AndEngine - PullRequest
4 голосов
/ 26 января 2012

Я обнаружил, что после возобновления игры весь движок перезагружается и приложение повторно инициализируется. Я хочу сохранить состояние двигателя и в «onResume» возобновить процесс игры.

Я попытался сохранить весь движок (mEngine), а затем после возобновления игры в "onLoadEngine" вернуть сохраненный движок. Я думаю, что это плохое решение, и оно не работает

Какое лучшее решение для паузы \ возобновления игры (например, после нажатия клавиши питания) в andEngine?

1 Ответ

3 голосов
/ 31 января 2012

Решение, которое я нашел, состояло в том, чтобы сериализовать состояние движка как JSON и сохранить его как общее хранилище. Это много работы, но она спасает. Поскольку andengine собирается повторно запустить ваш движок и текстуры после паузы, я думаю, что вариантов не так много, если только вы не захотите переписать часть andengine для своей игры. (что вы можете)

В моем JSON я записываю скорость типа позиции и т. Д. Каждого спрайта. Сложность того, что спасается, зависит от сложности вашей игры. И затем к каждому классу я добавил метод десериализации, который принимает JSON в качестве входных данных.

В качестве сноски к этому методу я не могу достаточно подробно рассказать об удивительной библиотеке GSON, чтобы упростить эту задачу. http://code.google.com/p/google-gson/

Но помните, что при восстановлении игры установите восстановленное состояние в режим паузы, чтобы пользователь знал, когда игра возобновится.

...