跳到主要内容

egret.DisplayObjectContainer

   egret

   public class DisplayObjectContainer

继承    egret.DisplayObjectContainer → egret.DisplayObjectegret.EventDispatcheregret.HashObject

子类    egret.Sprite,egret.Stage,eui.Component,eui.Group,egret.ScrollView

DisplayObjectContainer 类是基本显示列表构造块:一个可包含子项的显示列表节点。

公共属性

属性
numChildren : number
返回此对象的子项数目
touchChildren : boolean
确定对象的子级是否支持触摸或用户输入设备

公共方法

方法
DisplayObjectContainer()
实例化一个容器
addChild(child:egret.DisplayObject):egret.DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中
addChildAt(child:egret.DisplayObject,index:number):egret.DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中
contains(child:egret.DisplayObject):boolean
确定指定显示对象是 DisplayObjectContainer 实例的子项或该实例本身
getChildAt(index:number):egret.DisplayObject
返回位于指定索引处的子显示对象实例
getChildByName(name:string):egret.DisplayObject
返回具有指定名称的子显示对象
getChildIndex(child:egret.DisplayObject):number
返回 DisplayObject 的 child 实例的索引位置
removeChild(child:egret.DisplayObject):egret.DisplayObject
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例
removeChildAt(index:number):egret.DisplayObject
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject
removeChildren():void
从 DisplayObjectContainer 实例的子级列表中删除所有 child DisplayObject 实例
setChildIndex(child:egret.DisplayObject,index:number):void
更改现有子项在显示对象容器中的位置
setChildrenSortMode(value:string):void
设置子项目的排序方式
sortChildren():void
swapChildren(child1:egret.DisplayObject,child2:egret.DisplayObject):void
交换两个指定子对象的 Z 轴顺序(从前到后顺序)
swapChildrenAt(index1:number,index2:number):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)

事件

Events
egret.Event.ADDED
将显示对象添加到显示列表中时调度。
egret.Event.ADDED_TO_STAGE
在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。
egret.Event.REMOVED
将要从显示列表中删除显示对象时调度。
egret.Event.REMOVED_FROM_STAGE
在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。
egret.Event.ENTER_FRAME
[广播事件] 播放头进入新帧时调度。
egret.Event.RENDER
[广播事件] 将要更新和呈现显示列表时调度。
egret.TouchEvent.TOUCH_MOVE
当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。
egret.TouchEvent.TOUCH_BEGIN
当用户第一次触摸启用触摸的设备时(例如,用手指触摸手机屏幕)调度。
egret.TouchEvent.TOUCH_END
当用户移除与启用触摸的设备的接触时(例如,将手指从屏幕上抬起)调度。
egret.TouchEvent.TOUCH_TAP
当用户在启用触摸设备上的已启动接触的同一 DisplayObject 实例上抬起接触点时(例如,手机点击屏幕后抬起)调度。
egret.TouchEvent.TOUCH_RELEASE_OUTSIDE
当用户在启用触摸设备上的已启动接触的不同 DisplayObject 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。

属性详细信息

numChildren

numChildren : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

返回此对象的子项数目。

touchChildren

touchChildren : boolean = true

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

确定对象的子级是否支持触摸或用户输入设备。如果对象支持触摸或用户输入设备,用户可以通过使用触摸或用户输入设备与之交互。

方法详细信息

DisplayObjectContainer()

public DisplayObjectContainer()

实例化一个容器

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

addChild()

public addChild(child:egret.DisplayObject):egret.DisplayObject

将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。子项将被添加到该 DisplayObjectContainer 实例中其他所有子项的前(上)面。(要将某子项添加到特定索引位置,请使用 addChildAt() 方法。)

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • child:egret.DisplayObject - 要作为该 DisplayObjectContainer 实例的子项添加的 DisplayObject 实例。
  • 返回:在 child 参数中传递的 DisplayObject 实例。

addChildAt()

public addChildAt(child:egret.DisplayObject,index:number):egret.DisplayObject

将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。该子项将被添加到指定的索引位置。索引为 0 表示该DisplayObjectContainer 对象的显示列表的后(底)部。如果添加一个已将其它显示对象容器作为父项的子对象,则会从其它显示对象容器的子列表中删除该对象。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • child:egret.DisplayObject - 要作为该 DisplayObjectContainer 实例的子项添加的 DisplayObject 实例。
    • index:number - 添加该子项的索引位置。 如果指定当前占用的索引位置,则该位置以及所有更高位置上的子对象会在子级列表中上移一个位置。
  • 返回:在 child 参数中传递的 DisplayObject 实例。

contains()

public contains(child:egret.DisplayObject):boolean

确定指定显示对象是 DisplayObjectContainer 实例的子项或该实例本身。搜索包括整个显示列表(其中包括此 DisplayObjectContainer 实例)。孙项、曾孙项等,每项都返回 true。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:如果 child 对象是 DisplayObjectContainer 的子项或容器本身,则为 true;否则为 false。

getChildAt()

public getChildAt(index:number):egret.DisplayObject

返回位于指定索引处的子显示对象实例。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • index:number - 子对象的索引位置。
  • 返回:位于指定索引位置处的子显示对象。

getChildByName()

public getChildByName(name:string):egret.DisplayObject

返回具有指定名称的子显示对象。如果多个子显示对象具有指定名称,则该方法会返回子级列表中的第一个对象。getChildAt() 方法比 getChildByName() 方法快。getChildAt() 方法从缓存数组中访问子项,而 getChildByName() 方法则必须遍历链接的列表来访问子项。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • name:string - 要返回的子项的名称。
  • 返回:具有指定名称的子显示对象。

getChildIndex()

public getChildIndex(child:egret.DisplayObject):number

返回 DisplayObject 的 child 实例的索引位置。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:要查找的子显示对象的索引位置。

removeChild()

public removeChild(child:egret.DisplayObject):egret.DisplayObject

从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。将已删除子项的 parent 属性设置为 null;如果不存在对该子项的任何其它引用,则将该对象作为垃圾回收。DisplayObjectContainer 中该子项之上的任何显示对象的索引位置都减去 1。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:在 child 参数中传递的 DisplayObject 实例。

removeChildAt()

public removeChildAt(index:number):egret.DisplayObject

从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。将已删除子项的 parent 属性设置为 null;如果没有对该子项的任何其他引用,则将该对象作为垃圾回收。DisplayObjectContainer 中该子项之上的任何显示对象的索引位置都减去 1。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • index:number - 要删除的 DisplayObject 的子索引。
  • 返回:已删除的 DisplayObject 实例。

removeChildren()

public removeChildren():void

从 DisplayObjectContainer 实例的子级列表中删除所有 child DisplayObject 实例。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

setChildIndex()

public setChildIndex(child:egret.DisplayObject,index:number):void

更改现有子项在显示对象容器中的位置。这会影响子对象的分层。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • child:egret.DisplayObject - 要为其更改索引编号的 DisplayObject 子实例。
    • index:number - 生成的 child 显示对象的索引编号。当新的索引编号小于0或大于已有子元件数量时,新加入的DisplayObject对象将会放置于最上层。

setChildrenSortMode()

public setChildrenSortMode(value:string):void

设置子项目的排序方式

  • 支持版本:Egret 5.2.19
  • 运行平台:Native
  • 参数

sortChildren()

public sortChildren():void

  • 支持版本:all
  • 运行平台:Web,Native

swapChildren()

public swapChildren(child1:egret.DisplayObject,child2:egret.DisplayObject):void

交换两个指定子对象的 Z 轴顺序(从前到后顺序)。显示对象容器中所有其他子对象的索引位置保持不变。

swapChildrenAt()

public swapChildrenAt(index1:number,index2:number):void

在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。显示对象容器中所有其他子对象的索引位置保持不变。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • index1:number - 第一个子对象的索引位置。
    • index2:number - 第二个子对象的索引位置。

示例

/*
* 以下示例演示了创建5个正方形,并添加到显示列表。
*/
class DisplayObjectContainerExample extends egret.DisplayObjectContainer {
public constructor() {
super();
for (var i:number = 0; i < 5; i++) {
var shape:egret.Shape = new egret.Shape();
shape.graphics.beginFill(0xff0000);
shape.graphics.drawRect(0,0,30,30);
shape.graphics.endFill();
shape.x = i * 35;
this.addChild(shape);
}
}
}