Cocos2d RemoveAllChildrenWithTag

Cha*_*der 2 iphone for-loop objective-c cocos2d-iphone

我想有一个像-(void)removeAllChildrenWithTag:(int)tagCCNode子类中的方法.你会怎么做?

我正在将我的游戏的每一轮添加到此节点上,并且在该轮结束后我想删除它们.我认为给他们所有相同的标签会很好,所以我可以通过标签删除它们.但是只有一种方法可以删除带有标签的一个孩子.

我知道我可以调用这种方法,直到没有孩子离开,但我认为它会很慢.有没有更好的解决方案,如通过整个孩子并删除每个提到的标签?我不知道该怎么做,因为你无法删除for(* in *)-loop 中的任何子节点.

希望您能够帮助我.:)

Ind*_*ore 8

是的..我认为迭代子数组并删除指定的标记子项将是最简单的.这是一些代码.

CCNode *aChild;
while((aChild=[parentNode getChildByTag:aTag]) != nil)
    [parentNode removeChild:aChild cleanup:YES];
Run Code Online (Sandbox Code Playgroud)