addChildAt()方法有两个参数:要新增的对象,以及这个对象要在层叠次序中使用什么位置,如果先前有元件在指定位置上,那么原该位置处的对象和以上的所有对象都会向上移动一个单位。指定无效位置时,会抛出一个错误。
下面的示例建立三个不同颜色的圆,红圆和蓝圆是以addChild()方法加入的,使得蓝圆出现在上面,因为是在红圆之后加入的。然后,绿圆会以addChildAt()方法安插到这两个圆之间(指定索引1后,原位于1的红圆会移动到2)
//新建三个不同颜色的圆圈,然后改变其座标,使其错开,不再都位于(0,0);
var red:Shape=createCircle(0xFF0000,100,100,200);
var green:Shape= createCircle(0x00FF00,100,150,200);
var blue:Shape= createCircle(0x0000FF,100,200,200);
addChild(red);
addChild(blue);
addChildAt(green,1);
function createCircle(co:uint,r:Number,rx:Number,ry:Number):Shape{
var shape:Shape=new Shape();
shape.graphics.beginFill(co);
shape.graphics.drawCircle(0,0,r)
shape.graphics.endFill();
shape.x=rx;
shape.y=ry;
return shape;
}