2015-09-29 3 views
1

Я делаю новую игру, в которой будет около 4 миров с 7-8 уровнями, примерно 30 уровней. Я пытаюсь найти способ сохранить такие данные, как highScores, unlockStatus, лучшее время и т. Д. Для каждого из них.SpriteKit Swift лучший способ сохранить данные уровня

Лучший способ, который я нашел до сих пор, - сделать 1 класс GameData с форматом NSCoding для каждого мира, чем сохранить данные уровня. Он работает отлично, но он все еще кажется очень неуклюжим и много кода, так как у меня есть 4 класса GameData, и в каждом из них мне все еще нужны свойства, такие как highScores и т. Д. Для каждого уровня. Позволяет даже не говорить о хранении ключевого значения iCloud.

Как игра, подобная новой Angry Birds 2, сохранит и сохранит свои игровые данные за 240 плюс уровни? Разумеется, они не создают 240 свойств для highScores и т. Д.

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

+0

Я предложил бы использовать parse.com в MBAAS, бесплатно, пока вы не получите большими, управляет локальным хранилищем на уровне Hight в основных данных и брелоке для ключей, так что большинство проблемы будут решены для вас с полки –

+0

эй, спасибо, я уже занимаюсь анализом. еще раз спасибо – crashoverride777

ответ

0

Старый вопрос, но я мог бы также написать ответ.

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

Смотрите этот более поздний вопрос для образца кода

Is there a better way to save a custom class to NSUserDefaults than encoding and decoding everything with NSCoder?