在Flash CS5中创建和清除矩形

时间:2010-11-30 02:46:16

标签: flash flash-cs5

我正在读取一个XML文档,并从我获得的数据中绘制一堆矩形。这段代码插入一帧。按钮用于浏览框架。主屏幕上的按钮将您带到绘制矩形的框架。我在框架上有一个后退按钮,可以绘制矩形,将您带回到主屏幕,并且工作正常但是当我单击“后退”时,我绘制的矩形仍然保留在场景中。无论如何我可以一次擦除所有矩形吗?

由于

3 个答案:

答案 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 );