一.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 就不會刪除。