我已经在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中做什么吗?

最佳答案

取决于用例。

通常,我只调用[node removeFromParentAndCleanup:YES],足以满足我的需要。

如果要直接访问cleanup子类中的私有CCNode方法,则应仅在头文件中导入CCNode_Private.h而不是CCNode.h

关于ios - cocos2d v3覆盖清除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23644501/

10-10 21:02