我正在读取一个XML文档,并从我获得的数据中绘制一堆矩形。这段代码插入一帧。按钮用于浏览框架。主屏幕上的按钮将您带到绘制矩形的框架。我在框架上有一个后退按钮,可以绘制矩形,将您带回到主屏幕,并且工作正常但是当我单击“后退”时,我绘制的矩形仍然保留在场景中。无论如何我可以一次擦除所有矩形吗?
由于
答案 0 :(得分:1)
定义一个DisplayObject类型的数组,并将每个对象(Sprite,Movieclip)添加到它。
如果要删除它们,请遍历数组并删除子项:
// Adding object to the array
var objArray:Array; // this could be a field member
objArray = [];
// ... navigate to your XML file and get each entry
// ... after you create an object, add it
if( objArray.indexOf(obj1) < 0 ) // Make sure it is not there so we do not add it twice
objArray.push(obj1);
// Clearing...
for each (var obj1:DisplayObject in objArray)
{
obj1.parent.removeChild(obj1);
}
// when done, clear the array
objArray = [];
答案 1 :(得分:0)
如果你想删除当前帧中的所有内容:
function disposeFrameContent() : void
{
while(numChildren)
removeChildAt(0);
}
// run this code before you change frame
disposeFrameContent();
答案 2 :(得分:0)
这取决于你如何绘制矩形,如果你使用图形API,你可以简单地做:
this.graphics.clear();
如果添加DisplayObjects,请执行:
while( this.numChildren > 0 )
this.removeChildAt( 0 );
您当然可以在任何容器MovieClip上调用这些方法:
//for instance...
mc.graphics.clear();
//or
while( mc.numChildren > 0 )
mc.removeChildAt( 0 );