Текстовый файл для использования в качестве данных - PullRequest
0 голосов
/ 03 марта 2012

Мне было интересно, как лучше всего хранить данные в моей игре Cocos2d.

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

ПРИМЕР

Скажем, для уровня 3 Enemy_1выбран.Затем он переходит в файл данных Enemy_1, а затем находит количество спрайтов для создания.

При поиске способа сделать это я заметил, что в xCdoe есть несколько файлов, которые я мог бы использовать.К ним относятся: файл строк, список свойств и файл форматированного текста.Я предпочитаю использовать список свойств, но я не уверен, как они работают и как они могут быть внедрены в мою игру.Желательно, чтобы вы могли дать мне код, как это сделать?

Заранее спасибо

РЕДАКТИРОВАТЬ: я забыл сказать, что я не могу просто иметь один файл свойств, но мне нужноесть один для каждого типа врага.Это потому, что одних врагов убить труднее, чем других.

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Список свойств лучше всего подходит для разработки игр, основанных на уровнях.
Список свойств, например, Levels.plist можно легко преобразовать в NSDictionary или NSArray в зависимости от того, какие данные он содержит. * 1004два метода, которые используются для преобразования plist в NSDictionary или NSArray

NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Levels" ofType:@"plist"]];

NSArray *array = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Levels" ofType:@"plist"]];
1 голос
/ 03 марта 2012

Вы, вероятно, можете использовать один файл списка свойств.

Сначала убедитесь, что вы понимаете, что такое список свойств. Список свойств определяется рекурсивно как одна из следующих вещей:

  • строка
  • логическое значение
  • целое число
  • число с плавающей точкой
  • дата (и время)
  • блок двоичных данных
  • массив списков свойств
  • словарь со строками для ключей и списками свойств для значений

Список свойств может иметь массивы и словари, вложенные в любой уровень. Вот почему вы, вероятно, можете просто использовать один список свойств. Вы можете сделать свой объект верхнего уровня словарем с двумя ключами: «враги» и «уровни». Значение ключа «Враги» - это словарь с одной записью для каждого типа врага. Значение ключа «Уровни» - это массив с одной записью на уровень. Вот пример:

game property list

Вы можете использовать редактор списка свойств XCode для создания и изменения списка свойств (как я сделал для этого примера). Вы можете загрузить его, используя +[NSDictionary dictionaryWithContentsOfFile:] или NSPropertyListSerialization, если вам требуется дополнительная проверка ошибок. Редактор списков Xcode не так уж и хорош, но даже если вам в конечном итоге понадобится написать собственный редактор уровней, список свойств по-прежнему является удобным способом хранения данных игры.

Руководство по программированию списка свойств

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...