如何移除容器下所有子显示对象
容器中的子显示对象分为两类:
处于显示列表中的子显示对象。
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();