当我从 parent 中删除节点时调用哪个方法
Which method get called when i remove a node from parent
我想知道 child 的哪个方法在我们从它的节点中删除任何节点时被调用
parent.
我通过扩展 Layer class 创建了 MyLayer 然后添加了我自己的精灵 MySprite 它扩展了 Sprite class 的 cocos2d-x 框架。当 child 被移除时,我需要减少一个计数器,所以我需要一个在我的 MySprite class 中重写的方法。
我是用这个方法去除的
parent->removeChild(child);
这里parent是MyLayer,child是MySprite指针
如果child是运行这两个方法将被调用:
child->onExitTransitionDidStart();
child->onExit();
如果用cleanup = true
(默认值)删除child,child->cleanup();
也会被调用。
因此,对您来说最好的解决方案是覆盖 child 的 virtual void onExit();
函数。在覆盖的方法中不要忘记调用 Node::onExit();
或任何你的超类。
我想知道 child 的哪个方法在我们从它的节点中删除任何节点时被调用 parent.
我通过扩展 Layer class 创建了 MyLayer 然后添加了我自己的精灵 MySprite 它扩展了 Sprite class 的 cocos2d-x 框架。当 child 被移除时,我需要减少一个计数器,所以我需要一个在我的 MySprite class 中重写的方法。
我是用这个方法去除的
parent->removeChild(child);
这里parent是MyLayer,child是MySprite指针
如果child是运行这两个方法将被调用:
child->onExitTransitionDidStart();
child->onExit();
如果用cleanup = true
(默认值)删除child,child->cleanup();
也会被调用。
因此,对您来说最好的解决方案是覆盖 child 的 virtual void onExit();
函数。在覆盖的方法中不要忘记调用 Node::onExit();
或任何你的超类。