SpriteKit Swift是保存关卡数据的最佳方法

时间:2015-09-29 11:37:18

标签: swift save levels

我正在制作一款新游戏,每个游戏大约有4个世界,每个游戏有7到8个级别,所以总共大约有30个级别。我试图找出一种方法来保存数据,如highScores,unlockStatus,最佳时间等。

到目前为止,我发现的最好的方法是为每个世界制作一个带有NSCoding格式的GameData类,而不是保存关卡数据。 它工作正常,但它仍然看起来非常笨重和很多代码,因为我现在有4个GameData类,每个我还需要为每个级别创建像highScores等属性。让我们甚至不谈论iCloud密钥值存储。

像“愤怒的小鸟2”这样的游戏如何保存并跟踪其240多个等级的游戏数据?当然,他们不会为highScores等创建240个属性。

有人可以引导我朝着正确的方向前进。 感谢您提供任何帮助和建议

1 个答案:

答案 0 :(得分:0)

老问题,但我不妨发布一个答案。

我最终选择了数组,字典和字典数组。这样我就可以节省多个级别而不会有太多麻烦。现在也很容易循环遍历那些dicts /数组做的事情,比如级别解锁。

请参阅此最新问题以获取示例代码

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