如何移除容器下所有子显示对象

容器中的子显示对象分为两类:
处于显示列表中的子显示对象。

1、被numChildren所记录的。
2、由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被numChildren所记录。而是做为容器的背景矢量图存在,始终处于最后面。
因此,准确的说,如果要移除容器下所有子显示对象,就要分别移除这两类对象。

var tf:TextField = new TextField;
tf.text = "======Hello,world========";
addChild(tf);
graphics.beginFill(0xF3E789, 1);
graphics.lineStyle(1, 0xFFFF00);
graphics.drawRoundRect( -5, -5, 100 + 15, 100 + 15, 10, 10);
graphics.endFill();

numChildren为1所以graphics的对象没有被记录下来现在移除对象:

removeChild(tf);后发现numChildren为0,还得加一句graphics.clear();

  

原文地址:https://www.cnblogs.com/ztdy/p/2834932.html