向显示列表添加组件

通过调用 DisplayObjectContainer 容器的 addChild()addChildAt() 方法,可以向该容器添加对象。对于舞台,在创作过程中还可以通过创建对象来向其显示列表添加对象;对于组件,则可以通过将组件从"组件"面板中拖到舞台上来向其显示列表添加对象。若要使用 ActionScript 向容器添加对象,首先要通过使用 new 运算符调用对象的构造函数来创建该对象的一个实例,然后再调用 addChild()addChildAt() 方法将它放置到舞台上或显示列表中。addChild() 方法将该对象放置到显示列表中的下一位置,而 addChildAt() 则指定该对象将要添加到的位置。如果您指定的位置已经被占用,则位于该位置以及该位置之上的对象均会向上移动 1 个位置。DisplayObjectContainer 对象的 numChildren 属性指定了它包含的显示对象的数目。可以通过调用 getChildAt() 方法并指定位置来检索显示列表中的对象,如果您知道对象的名称,也可以通过调用 getChildByName() 方法来检索对象。

注意

使用 ActionScript 添加组件时,如果要通过名称在显示列表中访问该组件,您必须为该组件的 name 属性分配一个名称。

下面的示例列出了显示列表中三个组件的名称和位置。首先,将一个 NumericStepper、一个 Button 和一个 ComboBox 拖到舞台上,使它们相互重叠,并为它们分别指定实例名称"aNs"、"aButton"和"aCb"。然后将以下代码添加到时间轴第 1 帧的"动作"面板上:

var i:int = 0;
while(i < numChildren) {
    trace(getChildAt(i).name + " is at position: " + i++);
}

在"输出"面板中应看到以下行:

aNs is at position: 0
aButton is at position: 1
aCb is at position: 2