我想我可能会在我的代码中造成错误,因为我不清楚 cleanup: 部分 removeChild:cleanup: cocos2d ccnode 类的方法。
谢谢。
我想我可能会在我的代码中造成错误,因为我不清楚 cleanup: 部分 removeChild:cleanup: cocos2d ccnode 类的方法。
谢谢。
它停止所有操作并取消调度与 CCNode 关联的任何已调度选择器,基本上删除了 cocos 可能对该对象具有的任何引用。它还将清理调用传播到对象的所有子对象。如果该对象是一个可自动释放的对象并且您没有保留对它的引用,则该内存应该由objective-c 运行时回收,用于对象本身及其子对象。几乎所有对象都是如此,但如果您将对象添加为目标触摸委托,则情况并非如此。在这种情况下,我建议重写 onExit 方法,如下所示:
- (void) onExit{
[[CCTouchDispatcher sharedDispatcher] removeDelegate:self];
[super onExit];
}
这样,当您清理时,该对象将完全可释放。
cleanup 基本上指定是否应该清理该特定节点的正在运行的操作,基本上,如果它设置为 YES,则被删除的对象将停止所有正在运行的操作并取消调度所有选择器。