2011-01-20 93 views
2

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

对于每个级别,我希望有一些结构对象表示它的状态 - 是否打开,是否通过,是时候等等。

我正在使用cocos2d。

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

欢迎任何帮助!

回答

3

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

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

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

+0

对不起,迟到的回应 - 正在做一些其他的事情。你能举一些例子吗?假设我有一个NSObject继承类,我想保存状态 – Andrew 2011-01-27 16:40:07

1

NSUserDefaults适用于存储简单的设置,但对于完整的游戏状态,您可能需要使用诸如Core Data之类的东西进行研究。