egret.DisplayObjectContainer
包 egret
类 public class DisplayObjectContainer
继承 egret.DisplayObjectContainer → egret.DisplayObject → egret.EventDispatcher → egret.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:egret.DisplayObject - 要测试的子对象。
返回:如果 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
参数
- child:egret.DisplayObject - 要测试的子对象。
返回:要查找的子显示对象的索引位置。
removeChild()
public removeChild(child:egret.DisplayObject):egret.DisplayObject
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。将已删除子项的 parent 属性设置为 null;如果不存在对该子项的任何其它引用,则将该对象作为垃圾回收。DisplayObjectContainer 中该子项之上的任何显示对象的索引位置都减去 1。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- child:egret.DisplayObject - 要删除的 DisplayObject 实例。
返回:在 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
- 参数
- value:string - 排序方式
sortChildren()
public sortChildren():void
- 支持版本:all
- 运行平台:Web,Native
swapChildren()
public swapChildren(child1:egret.DisplayObject,child2:egret.DisplayObject):void
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。显示对象容器中所有其他子对象的索引位置保持不变。
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
- child1:egret.DisplayObject - 第一个子对象。
- child2:egret.DisplayObject - 第二个子对象。
swapChildrenAt()
public swapChildrenAt(index1:number,index2:number):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。显示对象容器中所有其他子对象的索引位置保持不变。
示例
/*
* 以下示例演示了创建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);
}
}
}