|
楼主 |
发表于 2012-4-13 22:20:01
|
显示全部楼层
本帖最后由 keyulunbi 于 2012-4-13 22:23 编辑
array 发表于 2012-4-13 10:02
removeChild()可以直接用node指针作为参数
谢谢array!用节点作为参数这个也知道,可能是我没把问题描述清楚,现在我详细说下:我的场景里面有很多节点,包括球,方形,椎体,面片等,其中除了“面片”之外的其它类型的节点都有可能是随时被添加或删减(移除)的,这些节点的移除根据removeChild(node)比较好处理,现在的问题是,我的场景里面的“面片”类型节点是根据时间变化循环创建添加的,如:添加到150个面片就想把第1个面片移除,添加到151个就想把原来的第2个移除……这样循环下去保持场景里只有149个面片(在这个过程中其它非面片类型节点是随时可能添加或移除的),部分关键代码如下:
if(iCount<150)
{
iCount++;
plane =staffDraw.createplane(position,rotateRadius);
mRoot->addChild(plane.get());
}
else
{
iCount++;
mRoot->removeChild(1);
plane =staffDraw.createplane(position,rotateRadius);
mRoot->addChild(plane.get());
}
请问这样的移除有什么好办法吗?有没有可以给每个创建添加的面片赋予一个索引值什么的?非常感谢!
|
|