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
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.)
name: String
Inherited from DisplayObject
The name of the display object (default: null). Used by 'getChildByName()' of display object containers.
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.
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.
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.
visible: Boolean
Inherited from DisplayObject
The visibility of the object, An invisible object will be untouchable.
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 |
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 |
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 |