【发布时间】:2012-05-05 02:06:55
【问题描述】:
我已经对NSCoding 进行了子类化,并向其中添加了我的游戏特定内容,例如健康等。我已经序列化了我已经子类化的对象,但是在解码然后通过[self addChild:sprite] 将精灵添加到屏幕时,它无法绘制精灵到屏幕上。
我猜这是因为CCSprite 还需要实现NSCoding 协议所以我的问题是:
1) 我对上述假设是否正确(我不想浪费时间实施此解决方案,只是发现这不是问题)
2) 让CCSprite 实现NSCoding 的最佳方法是什么?是使用Categories还是仅仅子类化并强制子类实现NSCoding协议?
【问题讨论】:
-
我没有找到你的前两个语句之间的联系.. 一方面你说你是 NSCoding 的子类......并向它添加了变量.. 这个类如何与你的 CCSprite 对象相关,因为 sprite 必须是一个 CCSprite 对象而不是 NSCoding 对象?对?如果我错了,请纠正我...
-
抱歉,我写的时候已经很晚了,我一大早就想出了解决方案。我遇到的问题是我将 CSSprite 的子类从一个进程发送到另一个进程,我很困惑为什么精灵没有在接收进程中显示。我发现并不是所有的精灵数据都被序列化了。我实施的解决方案是只发送我需要的信息,如坐标、图像名称等,然后在接收端从头开始重建精灵:)
标签: iphone objective-c cocos2d-iphone ccsprite nscoding