【问题标题】:Saving and loading settings and game progress in iOS在 iOS 中保存和加载设置和游戏进度
【发布时间】:2011-06-12 03:31:45
【问题描述】:

我正在编写一个 iPhone 游戏,我想保存/加载用户设置(例如音乐响度),还想存储游戏进度。

对于每个级别,我都希望有一些结构对象来表示它的状态——它是否打开、是否通过、时间到等等。

我正在使用 cocos2d。

我发现我可以使用 NSUserDefaults 类来存储游戏设置,但我不确定用它来存储游戏进度是否好。

欢迎任何帮助!

【问题讨论】:

    标签: iphone objective-c ios settings cocos2d-iphone


    【解决方案1】:

    使用 NSUserDefaults。但是使用它们来序列化整个对象并将它们加载回来。

    覆盖 encodeWithCoder: 和 initWithCoder: 用于要存储其状态的对象类。通过这种方式,您可以直接将整个对象存储/序列化到磁盘并重新构造它们。

    同样这样,你不需要接触现有的方法,你只需要为每个需要存储的类添加额外的方法。

    【讨论】:

    • 抱歉回复晚了 - 正在做其他事情。你能提供一些例子吗?假设我有一个 NSObject 继承类,我想保存它的状态
    【解决方案2】:

    NSUserDefaults 非常适合存储简单的设置,但对于完整的游戏状态,您可能需要考虑使用 Core Data 之类的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      相关资源
      最近更新 更多