我想在CCNode子类中有一个类似-(void)removeAllChildrenWithTag:(int)tag
的方法。你会怎么做?
我在游戏的每个回合中都向该节点添加了一些精灵,回合结束后,我想删除它们。我以为给他们所有相同的标签会很好,所以我可以按标签删除它们。但是,只有一种方法可以删除带有标签的一个孩子。
我知道我可以调用此方法,直到没有孩子离开,但我认为这会很慢。有没有更好的解决方案,例如遍历整个子级并删除每个带有上述标记的子级?我不知道该怎么做,因为您不能在for(* in *)
循环中删除任何子级。
希望您能够帮助我。 :)
最佳答案
是的..我认为迭代children数组并删除指定的tag children将是最简单的方法。
这是一些代码。
CCNode *aChild;
while((aChild=[parentNode getChildByTag:aTag]) != nil)
[parentNode removeChild:aChild cleanup:YES];
关于iphone - Cocos2d RemoveAllChildrenWithTag,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5483788/