2016-06-06 6 views
0

Я сейчас в точке, где мне нужно сохранить текущее состояние игры. Я использую libGDX и добавил kryo lib в свой проект и сделал некоторые тесты.Сохранение состояния игры в файл

Вопрос:

  • Должен ли я переопределить файл каждый сохранить или я могу переопределить только укусы, которые изменяются от одного класса.

  • Должен ли я создать новый OutputStream, если я хочу, чтобы игра была сохранена? (Сохраняйте игру каждые 5 минут, например)

  • Я хочу, чтобы текущие объекты, созданные для сохранения, должны ли я создать один файл для всех или для каждого объекта файл?

ответ

0

Дарио,

Должен ли я переопределить файл каждый сохранить или я могу переопределить только укусы, которые изменяются от одного класса.

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

Должен ли я создать новый выход OutputStream, если я хочу, чтобы игра была сохранена в ? (Сохраняйте игру каждые 5 минут, например)

Снова, зачем волноваться? Вы сохраняете один раз за 5 минут, вы не заметите никакой разницы (кроме времени кодирования и усилий впустую), если вы повторно используете свой OutputStream или создали новый. Создайте новый.

Я хочу, чтобы текущие объекты, которые были созданы для сохранения, должны ли я создать один файл для всех или для каждого объекта файл?

В зависимости от того, что имеет смысл и каковы эти «сущности». В любом случае, чтобы сохранить объект, вам необходимо его сериализовать, что является просто причудливым способом создания представления его в тексте. Чтобы загрузить объект, отмените процесс (десериализуйте его). Самый простой способ узнать, как это сделать, - сделать JSONObject (library here). Поместите значения из объекта в JSONObject и превратите его в текст, вызовите JSONObject.toString(). Чтобы десериализовать его, создайте новый JSONObject и передайте текст в его конструктор. Затем вы можете получить значения.

+0

Эти объекты могут быть 3 типа: враги макс. 15, снаряды макс. 50, блоки (треугольники, которые разрушаются, но растут обратно по времени). Они должны расти обратно, если они не находятся в области вильчицы (только видимые области карта будет загружена) –

+0

Сохраните его в 1 файл, как описано. – WonderfulWorld