SpriteKit Swift лучший способ сохранить данные уровня
Я делаю новую игру, в которой будет около 4 миров с 7-8 уровнями в каждом, всего около 30 уровней. Я пытаюсь найти способ сохранить такие данные, как highScores, unlockStatus, лучшее время и т. Д. Для каждого из них.
Наилучший способ, который я нашел до сих пор, - создать 1 класс GameData с форматом NSCoding для каждого мира, в котором сохраняются данные уровня. Он работает нормально, но все еще выглядит очень неуклюже и содержит много кода, поскольку у меня сейчас есть 4 класса GameData, и в каждом из них мне все еще нужно создавать свойства, такие как highScores и т. Д. Для каждого уровня. Давайте даже не будем говорить о хранилище значений ключей iCloud.
Как такая игра, как новая Angry Birds 2, может сохранять и отслеживать игровые данные для более чем 240 уровней? Конечно, они не создают 240 свойств для рекордов и т. Д.
Может ли кто-нибудь, пожалуйста, направить меня в правильном направлении. Спасибо за любую помощь и предложения
1 ответ
Старый вопрос, но я мог бы также опубликовать ответ.
Я заканчивал тем, что пошел с массивами, словарями и массивами словарей. Таким образом, я могу сохранить несколько уровней без особых хлопот. Кроме того, теперь очень просто проходить через эти дикты / массивы, такие как разблокировка уровней.
Смотрите этот более свежий вопрос для примера кода