Iphone CCSprite+NSCoding

Iphone CCSprite+NSCoding,iphone,objective-c,cocos2d-iphone,ccsprite,nscoding,Iphone,Objective C,Cocos2d Iphone,Ccsprite,Nscoding,我对NSCoding进行了子类化,并将我的游戏特定内容(如健康等)添加到其中。我对子类化的对象进行了序列化,但在解码后,通过[self addChild:sprite]将精灵添加到屏幕上,它无法将精灵绘制到屏幕上。 我猜这是因为CCSprite还需要实现NSCoding协议,所以我的问题是: 我的上述假设正确吗?我不想浪费时间实施此解决方案,结果发现这不是问题所在 2让CCSprite实现NSCoding的最佳方法是什么?是使用Categories还是只是将其子类化并强制子类实现NSCoding

我对NSCoding进行了子类化,并将我的游戏特定内容(如健康等)添加到其中。我对子类化的对象进行了序列化,但在解码后,通过[self addChild:sprite]将精灵添加到屏幕上,它无法将精灵绘制到屏幕上。 我猜这是因为CCSprite还需要实现NSCoding协议,所以我的问题是:

我的上述假设正确吗?我不想浪费时间实施此解决方案,结果发现这不是问题所在
2让CCSprite实现NSCoding的最佳方法是什么?是使用Categories还是只是将其子类化并强制子类实现NSCoding协议?

LOL很抱歉,当我写这篇文章时已经很晚了,我在一大早就找到了解决方案。我遇到的问题是,我将CSSprite的一个子类从一个进程发送到另一个进程,我不明白为什么在接收进程中没有显示sprite。我发现并不是所有的精灵数据都被序列化了。我实现的解决方案是只发送我需要的信息,如坐标、图像名称等,然后在接收端从头开始重建精灵:

我无法在前两条语句之间找到连接。。你是说你的子类NSCoding。。。并添加了变量。。该类如何与您的CCSprite对象关联,因为sprite必须是CCSprite对象而不是NSCoding对象?正当如果我错了,请纠正我…很抱歉,我写这篇文章的时候已经很晚了,我一大早就想出了解决办法。我遇到的问题是,我将CSSprite的一个子类从一个进程发送到另一个进程,我不明白为什么在接收进程中没有显示sprite。我发现并不是所有的精灵数据都被序列化了。我实现的解决方案是只发送我需要的信息,如坐标、图像名称等,然后在接收端从头开始重建精灵:与我在游戏中使用NSCoding时做的一样。。。这就是为什么我对你的问题感到惊讶。。因为你需要从头开始创建精灵。。您想要的只是它的属性,如位置、健康度等,来自序列化对象。。无法使用NSCoding..保存CCSprite:是的,感谢上帝为我开了一条捷径,否则我马上就要心脏病发作了: