Cocos2d iphone 如何为保存功能序列化cocos2d层次结构

Cocos2d iphone 如何为保存功能序列化cocos2d层次结构,cocos2d-iphone,Cocos2d Iphone,我想在cocos2d游戏中创建一个保存游戏功能。 实际上,这是一种状态游戏,游戏引擎是底层的,我将图形构建到引擎顶部的游戏层(CCLayer)中。实际上,游戏引擎是GameLayer的一个属性 序列化引擎很容易,因为它最终只包含一些原始值,只需要对所有包含的类进行一点NSCoding 然而,重新创建图形游戏的状态似乎很困难。目前,我正在尝试通过在恢复时将东西放在适当的位置来恢复状态,但是这种方法非常繁琐,极易出错,并且需要大量时间,甚至需要更多的时间进行测试等。如果cocos2d层次结构支持NS

我想在cocos2d游戏中创建一个保存游戏功能。 实际上,这是一种状态游戏,游戏引擎是底层的,我将图形构建到引擎顶部的游戏层(CCLayer)中。实际上,游戏引擎是GameLayer的一个属性

序列化引擎很容易,因为它最终只包含一些原始值,只需要对所有包含的类进行一点
NSCoding


然而,重新创建图形游戏的状态似乎很困难。目前,我正在尝试通过在恢复时将东西放在适当的位置来恢复状态,但是这种方法非常繁琐,极易出错,并且需要大量时间,甚至需要更多的时间进行测试等。如果cocos2d层次结构支持NSCoding或类似的功能,那么就更容易了。我想我也应该把NSCoding添加到GameLayer中,但是没有更简单的方法(因为层次结构应该有一组有限的可能的子元素)?

我用NSCoding实现了我的方法。。。在解决了错误(我忘记了NSCoding:ify的一些很少使用的类)之后,它通过了测试,该应用程序被发送到Appstore,现在已经上线了-P
在项目后期获得此要求有点麻烦…

请记住,您不能(轻松地)序列化计划选择器和blocksOk,我想这就是为什么这件事不容易存在的原因。不管怎样,我坚持我的方法,实现和重构需要一个半人工日,可能至少需要一周的内部测试和睡眠,但这就是生活。