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

SpriteKit Swift best way to save level data

我正在制作一款新游戏,它将有大约 4 个世界,每个世界有 7-8 个关卡,所以总共大约有 30 个关卡。我正在尝试找出一种方法来为每个人保存数据,例如高分、解锁状态、最佳时间等。

到目前为止,我发现的最佳方法是为每个世界制作 1 个 NSCoding 格式的 GameData class,然后保存关卡数据。 它工作正常,但它仍然看起来很笨重并且有很多代码,因为我现在有 4 个 GameData classes,并且在每个中我仍然需要为每个级别创建 highScores 等属性。更不用说 iCloud 键值存储了。

像新版 Angry Birds 2 这样的游戏如何保存和跟踪 240 多个关卡的游戏数据?他们当然不会为 hi​​ghScores 等创建 240 个属性。

有人可以引导我朝着正确的方向前进吗? 感谢您的帮助和建议

老问题但我也可以post回答。

我最终选择了数组、字典和字典数组。这样我就可以毫不费力地保存多个级别。现在也很容易遍历那些 dicts/arrays 做的事情,比如关卡解锁。

查看示例代码的最新问题