Packagestarling.display
Classpublic class DisplayObjectContainer
InheritanceDisplayObjectContainer Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Subclasses Button, Sprite, Stage, TextField

A DisplayObjectContainer represents a collection of display objects. It is the base class of all display objects that act as a container for other objects. By maintaining an ordered list of children, it defines the back-to-front positioning of the children within the display tree.

A container does not a have size in itself. The width and height properties represent the extents of its children. Changing those properties will scale all children accordingly.

As this is an abstract class, you can't instantiate it directly, but have to use a subclass instead. The most lightweight container class is "Sprite".

Adding and removing children

The class defines methods that allow you to add or remove children. When you add a child, it will be added at the frontmost position, possibly occluding a child that was added before. You can access the children via an index. The first child will have index 0, the second child index 1, etc.

Adding and removing objects from a container triggers non-bubbling events. Especially the ADDED_TO_STAGE event is very helpful, as it allows you to automatically execute some logic (e.g. start an animation) when an object is rendered the first time.

See also

Sprite
DisplayObject


Public Properties
 PropertyDefined By
 Inheritedalpha : Number
The opacity of the object.
DisplayObject
 Inheritedbounds : Rectangle
[read-only] The bounds of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedheight : Number
The height of the object in pixels.
DisplayObject
 Inheritedname : String
The name of the display object (default: null).
DisplayObject
  numChildren : int
[read-only] The number of children of this container.
DisplayObjectContainer
 Inheritedparent : DisplayObjectContainer
[read-only] The display object container that contains this display object.
DisplayObject
 InheritedpivotX : Number
The x coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpivotY : Number
The y coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 Inheritedroot : DisplayObject
[read-only] The topmost object in the display tree the object is part of.
DisplayObject
 Inheritedrotation : Number
The rotation of the object in radians.
DisplayObject
 InheritedscaleX : Number
The horizontal scale factor.
DisplayObject
 InheritedscaleY : Number
The vertical scale factor.
DisplayObject
 Inheritedstage : Stage
[read-only] The stage the display object is connected to, or null if it is not connected to a stage.
DisplayObject
 Inheritedtouchable : Boolean
Indicates if this object (and its children) will receive touch events.
DisplayObject
 InheritedtransformationMatrix : Matrix
[read-only] The transformation matrix of the object relative to its parent.
DisplayObject
 Inheritedvisible : Boolean
The visibility of the object.
DisplayObject
 Inheritedwidth : Number
The width of the object in pixels.
DisplayObject
 Inheritedx : Number
The x coordinate of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedy : Number
The y coordinate of the object relative to the local coordinates of the parent.
DisplayObject
Public Methods
 MethodDefined By
  
Adds a child to the container.
DisplayObjectContainer
  
addChildAt(child:DisplayObject, index:int):void
Adds a child to the container at a certain index.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function):void
Registers an event listener at a certain object.
EventDispatcher
  
broadcastEvent(event:Event):void
Dispatches an event on all children (recursively).
DisplayObjectContainer
  
contains(child:DisplayObject):Boolean
Determines if a certain object is a child of the container (recursively).
DisplayObjectContainer
 Inherited
dispatchEvent(event:Event):void
[override] Dispatches an event to all objects that have registered for events of the same type.
DisplayObject
  
dispose():void
[override] Disposes the resources of all children.
DisplayObjectContainer
  
getBounds(targetSpace:DisplayObject):Rectangle
[override] Returns a rectangle that completely encloses the object as it appears in another coordinate system.
DisplayObjectContainer
  
Returns a child object at a certain index.
DisplayObjectContainer
  
Returns a child object with a certain name (non-recursively).
DisplayObjectContainer
  
Returns the index of a child within the container, or "-1" if it is not found.
DisplayObjectContainer
 Inherited
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
globalToLocal(globalPoint:Point):Point
Transforms a point from global (stage) coordinates to the local coordinate system.
DisplayObject
 Inherited
hasEventListener(type:String):Boolean
Returns if there are listeners registered for a certain event type.
EventDispatcher
  
hitTest(localPoint:Point, forTouch:Boolean = false):DisplayObject
[override] Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails.
DisplayObjectContainer
 Inherited
localToGlobal(localPoint:Point):Point
Transforms a point from the local coordinate system to global (stage) coordinates.
DisplayObject
  
removeChild(child:DisplayObject, dispose:Boolean = false):void
Removes a child from the container.
DisplayObjectContainer
  
removeChildAt(index:int, dispose:Boolean = false):void
Removes a child at a certain index.
DisplayObjectContainer
  
removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void
Removes a range of children from the container (endIndex included).
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function):void
Removes an event listener from the object.
EventDispatcher
 Inherited
removeEventListeners(type:String = null):void
Removes all event listeners with a certain type, or all of them if type is null.
EventDispatcher
 Inherited
removeFromParent(dispose:Boolean = false):void
Removes the object from its parent, if it has one.
DisplayObject
  
render(support:RenderSupport, alpha:Number):void
[override] Renders the display object with the help of a support object.
DisplayObjectContainer
  
setChildIndex(child:DisplayObject, index:int):void
Moves a child to a certain index.
DisplayObjectContainer
  
Swaps the indexes of two children.
DisplayObjectContainer
  
swapChildrenAt(index1:int, index2:int):void
Swaps the indexes of two children.
DisplayObjectContainer
Events
 Event Summary Defined By
 InheritedDispatched when an object is added to a parent.DisplayObject
 InheritedDispatched when an object is connected to the stage (directly or indirectly).DisplayObject
 InheritedDispatched once every frame on every object that is connected to the stage.DisplayObject
 InheritedDispatched when an object is removed from its parent.DisplayObject
 InheritedDispatched when an object is removed from the stage and won't be rendered any longer.DisplayObject
 InheritedDispatched when an object is touched.DisplayObject
Property Detail
numChildrenproperty
numChildren:int  [read-only]

The number of children of this container.


Implementation
    public function get numChildren():int
Method Detail
addChild()method
public function addChild(child:DisplayObject):void

Adds a child to the container. It will be at the frontmost position.

Parameters

child:DisplayObject

addChildAt()method 
public function addChildAt(child:DisplayObject, index:int):void

Adds a child to the container at a certain index.

Parameters

child:DisplayObject
 
index:int

broadcastEvent()method 
public function broadcastEvent(event:Event):void

Dispatches an event on all children (recursively). The event must not bubble.

Parameters

event:Event

contains()method 
public function contains(child:DisplayObject):Boolean

Determines if a certain object is a child of the container (recursively).

Parameters

child:DisplayObject

Returns
Boolean
dispose()method 
override public function dispose():void

Disposes the resources of all children.

getBounds()method 
override public function getBounds(targetSpace:DisplayObject):Rectangle

Returns a rectangle that completely encloses the object as it appears in another coordinate system.

Parameters

targetSpace:DisplayObject

Returns
Rectangle
getChildAt()method 
public function getChildAt(index:int):DisplayObject

Returns a child object at a certain index.

Parameters

index:int

Returns
DisplayObject
getChildByName()method 
public function getChildByName(name:String):DisplayObject

Returns a child object with a certain name (non-recursively).

Parameters

name:String

Returns
DisplayObject
getChildIndex()method 
public function getChildIndex(child:DisplayObject):int

Returns the index of a child within the container, or "-1" if it is not found.

Parameters

child:DisplayObject

Returns
int
hitTest()method 
override public function hitTest(localPoint:Point, forTouch:Boolean = false):DisplayObject

Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails. If "forTouch" is true, untouchable and invisible objects will cause the test to fail.

Parameters

localPoint:Point
 
forTouch:Boolean (default = false)

Returns
DisplayObject
removeChild()method 
public function removeChild(child:DisplayObject, dispose:Boolean = false):void

Removes a child from the container. If the object is not a child, nothing happens. If requested, the child will be disposed right away.

Parameters

child:DisplayObject
 
dispose:Boolean (default = false)

removeChildAt()method 
public function removeChildAt(index:int, dispose:Boolean = false):void

Removes a child at a certain index. Children above the child will move down. If requested, the child will be disposed right away.

Parameters

index:int
 
dispose:Boolean (default = false)

removeChildren()method 
public function removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void

Removes a range of children from the container (endIndex included). If no arguments are given, all children will be removed.

Parameters

beginIndex:int (default = 0)
 
endIndex:int (default = -1)
 
dispose:Boolean (default = false)

render()method 
override public function render(support:RenderSupport, alpha:Number):void

Renders the display object with the help of a support object. Never call this method directly, except from within another render method.

Parameters

support:RenderSupport — Provides utility functions for rendering.
 
alpha:Number — The accumulated alpha value from the object's parent up to the stage.

setChildIndex()method 
public function setChildIndex(child:DisplayObject, index:int):void

Moves a child to a certain index. Children at and after the replaced position move up.

Parameters

child:DisplayObject
 
index:int

swapChildren()method 
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void

Swaps the indexes of two children.

Parameters

child1:DisplayObject
 
child2:DisplayObject

swapChildrenAt()method 
public function swapChildrenAt(index1:int, index2:int):void

Swaps the indexes of two children.

Parameters

index1:int
 
index2:int