我已经在 cocos2d 工作了几年了。切换到 v3 后,我真的很怀念能够覆盖 cleanup
功能。在我的 Sprite 中,我通常会以与此类似的方式执行所有清理工作:
-(void)cleanup {
// Do other cleanup that is not covered by super.
// Call super cleanup.
[super cleanup];
}
在 v3 中,cleanup
函数似乎是 CCNode
私有(private)的,并且不能被覆盖。使用这种方法的主要原因是该函数将通过简单的 removeFromParent
调用自动调用。
除了编写我的 destroy
函数并手动调用它之外,有人建议如何在 v3 中做类似的事情吗?
最佳答案
取决于用例。
通常我只调用[node removeFromParentAndCleanup:YES]
,这足以满足我的需要。
如果您想直接访问 CCNode
子类中的私有(private) cleanup
方法,您只需在头文件中导入 CCNode_Private.h
即可而不是 CCNode.h
。
关于ios - cocos2d v3 覆盖清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23644501/