我已经在cocos2d工作了几年了。切换到v3后,我真的很想能够覆盖cleanup
功能。在我的精灵中,我通常会以类似于此的方式执行所有清理工作:
-(void)cleanup {
// Do other cleanup that is not covered by super.
// Call super cleanup.
[super cleanup];
}
对于v3,似乎cleanup
函数对CCNode
是私有的,无法覆盖。使用这种方法的主要原因是通过简单的removeFromParent
调用自动调用该函数。
除了编写我的destroy
函数并手动调用之外,是否有人建议如何在v3中执行类似的操作?
答案 0 :(得分:1)
取决于用例。
通常我只需拨打[node removeFromParentAndCleanup:YES]
,这足以满足我的需求。
如果您希望直接访问cleanup
子类中的私有CCNode
方法,则只需在头文件中导入CCNode_Private.h
而不是CCNode.h
。