关于Cocos2d-x中addchild和removeChild方法的参数的解析

一.addchild

virtual void addchild( Node * child , int localZOrder , int tag )添加一个子节点到容器中,有Z轴顺序和一个标记。

1.如果子节点被添加到了一个“running(活动着的)”节点,那么'onEnter'和 'onEnterTransitionDidFinish' 将会立即调用。

2.参数解析

addChild:是指要添加的子成员(Node *类型,可移式Sprite, Layer等等);

z:是指添加的ZOrder值,ZOrder是指该成员的层级(也可以说深度),z值大的成员在z值小的成员的上面,上面的会覆盖下面的,0的话就是最低的层级,层级一样的话根据谁后绘制的就覆盖先绘制的。层级不同的时候,还是可以进行物理碰撞。

tag:是指该成员的tag值,tag值是一个成员的标识,如果丢掉了这个变量,可以通过getChildByTag(tag)把这个成员找到。

3.例子

bulletBox->addChild(bullet, 0, GameScene::HERO_BULLET_TAG);

GameScene::HERO_BULLET_TAG为一个enum中的值,为102

二.removeChild

virtual void removeChild ( Node * child , bool cleanup )从容器中删除一个孩子,取决于cleanup参数,同时可能会清除所有的活动的动作。

1.参数解析

child 希望被删除的子节点。
cleanup 为true 表示在这个节点上所有的动作和回调都会被删除, false 就不会删除。






原文地址:https://www.cnblogs.com/HangZhe/p/5758576.html