DisplayObjectContainer

public class
loom2d.display.DisplayObjectContainer

Description

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.

  • Event.ADDED: the object was added to a parent.
  • Event.ADDED_TO_STAGE: the object was added to a parent that is connected to the stage, thus becoming visible now.
  • Event.REMOVED: the object was removed from a parent.
  • Event.REMOVED_FROM_STAGE: the object was removed from a parent that is connected to the stage, thus becoming invisible now.

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:
loom2d.display.Sprite
loom2d.display.DisplayObject

API overview

Constructor

DisplayObjectContainer ()
@private

Attributes

Public attributes

depthSort: Boolean

If depth sorting enabled, direct children will use their depth property to establish draw order

numChildren: Number read-only

The number of children of this container

view: Number

View controls which indexed view the container's children will be drawn into

Protected attributes

Functions

Public functions

addChild ( child: DisplayObject ): DisplayObject

Adds a child to the container

addChildAt ( child: DisplayObject , index: Number ): DisplayObject

Adds a child to the container at a certain index

addLMLChild ( id: String , child: Object ): Void
broadcastEvent ( event: Event ): Void

Dispatches an event on all children (recursively)

broadcastEventWith ( type: String , data: Object = null ): Void

Dispatches an event with the given parameters on all children (recursively)

contains ( child: DisplayObject ): Boolean

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

getChildAt ( index: Number ): DisplayObject

Returns a child object at a certain index

getChildByName ( name: String ): DisplayObject

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

getChildIndex ( child: DisplayObject ): Number

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

removeChild ( child: DisplayObject , dispose: Boolean = false ): DisplayObject

Removes a child from the container

removeChildAt ( index: Number , dispose: Boolean = false ): DisplayObject

Removes a child at a certain index

removeChildren ( beginIndex: Number = 0 , endIndex: Number = , dispose: Boolean = false ): Void

Removes a range of children from the container (endIndex included)

removeLMLChildren (): Void
setChildIndex ( child: DisplayObject , index: Number ): Void

Moves a child to a certain index

sortChildren ( compareFunction: Function ): Void

Sorts the children according to a given function (that works just like the sort function of the Vector class)

swapChildren ( child1: DisplayObject , child2: DisplayObject ): Void

Swaps the indexes of two children

swapChildrenAt ( index1: Number , index2: Number ): Void

Swaps the indexes of two children

Protected functions

Constructor

DisplayObjectContainer ()

@private

Attributes

alpha: Number
Inherited from DisplayObject

The opacity of the object, 0 = transparent, 1 = opaque.

base: DisplayObject
Inherited from DisplayObject

read-only

The topmost object in the display tree the object is part of.

bounds: Rectangle
Inherited from DisplayObject

read-only

The bounds of the object relative to the local coordinates of the parent.

depth: Number
Inherited from DisplayObject

If depth sorting is enabled on parent, this will be used to establish draw order.

depthSort: Boolean

If depth sorting enabled, direct children will use their depth property to establish draw order.

hasVisibleArea: Boolean
Inherited from DisplayObject

read-only

Indicates if an object occupies any visible area. (Which is the case when its 'alpha', 'scaleX' and 'scaleY' values are not zero, and its 'visible' property is enabled.)

height: Number
Inherited from DisplayObject

The height of the object in pixels.

name: String
Inherited from DisplayObject

The name of the display object (default: null). Used by 'getChildByName()' of display object containers.

numChildren: Number

read-only

The number of children of this container.

parent: DisplayObjectContainer
Inherited from DisplayObject

pivotX: Number
Inherited from DisplayObject

The x coordinate of the object's origin in its own coordinate space (default: 0).

pivotY: Number
Inherited from DisplayObject

The y coordinate of the object's origin in its own coordinate space (default: 0).

root: DisplayObject
Inherited from DisplayObject

read-only

The root object the display object is connected to (ie: an instance of the class that was passed to the Starling constructor), or null if the object is not connected to the stage.

rotation: Number
Inherited from DisplayObject

The rotation of the object in radians, (In Loom2D, all angles are measured in radians.)

scale: Number
Inherited from DisplayObject

General scale factor. '1' means no scale, negative values flip the object. Use this when setting scaleX/scaleY explicitly is too verbose.

scaleX: Number
Inherited from DisplayObject

The horizontal scale factor. '1' means no scale, negative values flip the object.

scaleY: Number
Inherited from DisplayObject

The vertical scale factor. '1' means no scale, negative values flip the object.

skewX: Number
Inherited from DisplayObject

The horizontal skew angle in radians.

skewY: Number
Inherited from DisplayObject

The vertical skew angle in radians.

stage: Stage
Inherited from DisplayObject

read-only

The stage the display object is connected to, or null if it is not connected to the stage.

styleName: String
Inherited from DisplayObject

The style name used by the CSS system.

touchable: Boolean
Inherited from DisplayObject

Indicates if this object (and its children) will receive touch events.

transformationMatrix: Matrix
Inherited from DisplayObject

The transformation matrix of the object relative to its parent.

If you assign a custom transformation matrix, Starling will try to figure out
suitable values for x, y, scaleX, scaleY, and rotation. However, if the matrix was created in a different way, this might not be possible. In that case, Starling will apply the matrix, but not update the corresponding properties.

view: Number

View controls which indexed view the container's children will be drawn into

visible: Boolean
Inherited from DisplayObject

The visibility of the object, An invisible object will be untouchable.

width: Number
Inherited from DisplayObject

The width of the object in pixels.

x: Number
Inherited from DisplayObject

The x coordinate of the object relative to the local coordinates of the parent.

y: Number
Inherited from DisplayObject

The y coordinate of the object relative to the local coordinates of the parent.

Protected attributes

Functions

addChild ( child: DisplayObject ): DisplayObject

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

Parameters

child: DisplayObject


addChildAt ( child: DisplayObject , index: Number ): DisplayObject

Adds a child to the container at a certain index.

Parameters

child: DisplayObject
index: Number


addEventListener ( type: String , listener: Function ): Void
Inherited from EventDispatcher

Registers an event listener at a certain object.

Parameters

type: String
listener: Function


addLMLChild ( id: String , child: Object ): Void

Parameters

id: String
child: Object


broadcastEvent ( event: Event ): Void

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

Parameters

event: Event


broadcastEventWith ( type: String , data: Object = null ): Void

Dispatches an event with the given parameters on all children (recursively). The method uses an internal pool of event objects to avoid allocations.

Parameters

type: String
data: Object = null


center (): Void
Inherited from DisplayObject

center the DisplayObject's pivot point using the width and height



contains ( child: DisplayObject ): Boolean

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

Parameters

child: DisplayObject


dispatchEvent ( event: Event ): Void
Inherited from EventDispatcher

Dispatches an event to all objects that have registered listeners for its type. If an event with enabled 'bubble' property is dispatched to a display object, it will travel up along the line of parents, until it either hits the root object or someone stops its propagation manually.

Parameters

event: Event


dispatchEventWith ( type: String , bubbles: Boolean = false , data: Object = null ): Void
Inherited from EventDispatcher

Dispatches an event with the given parameters to all objects that have registered listeners for the given type. The method uses an internal pool of event objects to avoid allocations.

Parameters

type: String
bubbles: Boolean = false
data: Object = null


dispose (): Void
Inherited from DisplayObject

Disposes all resources of the display object. GPU buffers are released, event listeners are removed, filters are disposed.



getBounds ( targetSpace: DisplayObject , resultRect: Rectangle = null ): Rectangle
Inherited from DisplayObject

Returns a rectangle that completely encloses the object as it appears in another coordinate system. If you pass a 'resultRectangle', the result will be stored in this rectangle instead of creating a new object.

Parameters

targetSpace: DisplayObject
resultRect: Rectangle = null


getChildAt ( index: Number ): DisplayObject

Returns a child object at a certain index.

Parameters

index: Number


getChildByName ( name: String ): DisplayObject

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

Parameters

name: String


getChildIndex ( child: DisplayObject ): Number

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

Parameters

child: DisplayObject


getFullTypeName (): String
Inherited from Object

native

Gets the fully qualified type name of the Object. The fully qualified type name includes the package of the type.


Returns

String fully qualified type name of the Object.

getTargetTransformationMatrix ( targetSpace: DisplayObject , resultMatrix: Matrix ): Void
Inherited from DisplayObject

native

Parameters

targetSpace: DisplayObject
resultMatrix: Matrix


getType (): Type
Inherited from Object

native

Gets the Type that describes the Object.


Returns

Type The Type that describes the object.

getTypeName (): String
Inherited from Object

native

Gets the type name of the Object.


Returns

String type name of the Object.

globalToLocal ( globalPoint: Point ): Point
Inherited from DisplayObject

Transforms a point from global (stage) coordinates to the local coordinate system.

Parameters

globalPoint: Point


hasEventListener ( type: String ): Boolean
Inherited from EventDispatcher

Returns if there are listeners registered for a certain event type.

Parameters

type: String


hitTest ( localPoint: Point , forTouch: Boolean = false ): DisplayObject
Inherited from 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 = false


initializeLMLNode ( id: String ): Void
Inherited from DisplayObject

Handle LML node initialization.

Parameters

id: String


localToGlobal ( localPoint: Point ): Point
Inherited from DisplayObject

Transforms a point from the local coordinate system to global (stage) coordinates.

Parameters

localPoint: Point


preinitializeLMLNode ( id: String ): Void
Inherited from DisplayObject

Pre-initialize the LML node.

Parameters

id: String


removeChild ( child: DisplayObject , dispose: Boolean = false ): DisplayObject

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 = false


removeChildAt ( index: Number , dispose: Boolean = false ): DisplayObject

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: Number
dispose: Boolean = false


removeChildren ( beginIndex: Number = 0 , endIndex: Number = , 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: Number = 0
endIndex: Number =
dispose: Boolean = false


removeEventListener ( type: String , listener: Function ): Void
Inherited from EventDispatcher

Removes an event listener from the object.

Parameters

type: String
listener: Function


removeEventListeners ( type: String = null ): Void
Inherited from EventDispatcher

Removes all event listeners with a certain type, or all of them if type is null. Be careful when removing all event listeners: you never know who else was listening.

Parameters

type: String = null


removeFromParent ( dispose: Boolean = false ): Void
Inherited from DisplayObject

Removes the object from its parent, if it has one.

Parameters

dispose: Boolean = false


removeLMLChildren (): Void



setChildIndex ( child: DisplayObject , index: Number ): Void

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

Parameters

child: DisplayObject
index: Number


sortChildren ( compareFunction: Function ): Void

Sorts the children according to a given function (that works just like the sort function of the Vector class).

Parameters

compareFunction: Function


swapChildren ( child1: DisplayObject , child2: DisplayObject ): Void

Swaps the indexes of two children.

Parameters

child1: DisplayObject
child2: DisplayObject


swapChildrenAt ( index1: Number , index2: Number ): Void

Swaps the indexes of two children.

Parameters

index1: Number
index2: Number


toString (): String
Inherited from Object

native

Returns a String that describes the Object. This can be overriden to provide extra details when printing objects using trace().


Returns

String String that described the Object.

Protected functions