Actionscript 3 as3删除循环中的子项
我在使用AdobeAir3.3的FlashCS6中工作,在我将电影剪辑添加到舞台后,删除它们时遇到问题。这是我的密码:Actionscript 3 as3删除循环中的子项,actionscript-3,flash,air,Actionscript 3,Flash,Air,我在使用AdobeAir3.3的FlashCS6中工作,在我将电影剪辑添加到舞台后,删除它们时遇到问题。这是我的密码: for(var i = 0; i<starCount; i++) { star = new newStar(); choiceBoard.addChild(star); star.x = 195; if(i>=1) { star.x = 195 + 90*i; } star.y = 597 }
for(var i = 0; i<starCount; i++)
{
star = new newStar();
choiceBoard.addChild(star);
star.x = 195;
if(i>=1)
{
star.x = 195 + 90*i;
}
star.y = 597
}
for(变量i=0;i=1)
{
星形x=195+90*i;
}
星形y=597
}
这是我创建的一个函数的一部分,它可以动态添加星形电影剪辑…它可以添加一个电影剪辑,添加间距,添加下一个电影剪辑等。创建完后,如何删除所有星形电影剪辑
我试过:
for(var i = 0; i<starCount; i++)
{
if(contains(star))
{
choiceBoard.removeChild(star);
trace("removed star");
}
}
for(var i=0;iprivate-var-stars:Array=[];
对于(var i=0;i的星星,它们是choiceBoard的唯一子元素吗?如果是,您可以删除所有子元素,如下所示:
choiceBoard.removeChildren();
或者,您可以将所有星星添加到一个数组中,然后遍历该数组以删除它们:
var starArray:Array = [];
//...
for(var i = 0; i<starCount; i++)
{
star = new newStar();
//put the star into the array
starArray.push(star);
choiceBoard.addChild(star);
star.x = 195;
if(i>=1)
{
star.x = 195 + 90*i;
}
star.y = 597
}
var-starArray:Array=[];
//...
对于(变量i=0;i=1)
{
星形x=195+90*i;
}
星形y=597
}
然后删除:
for(var i = 0; i<starArray.length; i++)
{
//remove the star from the display
choiceBoard.removeChild(starArray[i]);
trace("removed star");
}
//clear the array
starArray = [];
for(var i=0;i如果您已将所有星号添加到一个容器中(看起来您使用的是choiceBoard
),并且该容器中没有其他您想要保留的内容,那么您可以通过以下操作非常简单(快速)地删除它们:
while(choiceBoard.numChildren)
{
choiceBoard.removeChildAt(0);
}
for(var i = 0; i<starArray.length; i++)
{
//remove the star from the display
choiceBoard.removeChild(starArray[i]);
trace("removed star");
}
//clear the array
starArray = [];
while(choiceBoard.numChildren)
{
choiceBoard.removeChildAt(0);
}