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 |
Protected attributes
Functions
Public functions
| addChild ( child: DisplayObject , fireEvents: Boolean = true ): DisplayObject |
Adds a child to the container |
| addChildAt ( child: DisplayObject , index: Number , fireEvents: Boolean = true ): DisplayObject |
Adds a child to the container at a certain index |
| addLMLChild ( id: String , child: Object ): Void |
Add a child to this LML node, identifying it by id |
| 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 |
| getChildAtUnsafe ( index: Number ): DisplayObject |
Returns a child object at a certain index without doing bounds checks |
| 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 |
| moveChildLast ( child: DisplayObject ): Void |
Moves a child to be the last object in the container |
| removeChild ( child: DisplayObject , dispose: Boolean = false , fireEvents: Boolean = true ): DisplayObject |
Removes a child from the container |
| removeChildAt ( index: Number , dispose: Boolean = false , fireEvents: Boolean = true ): 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 |
Remove (and destroy) all LML children from this node |
| setChildIndex ( child: DisplayObject , index: Number ): Void |
Moves a child to a certain index |
| setChildrenUnsafe ( ordered: Vector.<DisplayObject> ): Void | |
| 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.
blendEnabled: Boolean
Inherited from DisplayObject
Enables or disables blending. If set to false, there will be no blending and there may be performance gains.
blendMode: BlendMode
Inherited from DisplayObject
The default value is BlendMode.AUTO
The blend mode determines how the object is blended with the objects underneath.
See also:
loom2d.display.BlendMode
bounds: Rectangle
Inherited from DisplayObject
read-only
The bounds of the object relative to the local coordinates of the parent.
cacheAsBitmap: Boolean
Inherited from DisplayObject
If true, the untransformed contents get cached into a texture at render time.
The contents remain static until you turn off caching or use invalidateBitmapCache
to update the cache manually.
depth: Number
Inherited from DisplayObject
If depthSort is enabled on parent, this will be used to establish draw order. Higher values are drawn closer. Matching values have undefined 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.)
ignoreHitTestAlpha: Boolean
Inherited from DisplayObject
This can be used if you wish to have a DisplayObject with zero alpha still respond to hit tests
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 , fireEvents: Boolean = true ): DisplayObject
Adds a child to the container. It will be at the frontmost position.
Parameters
| child: DisplayObject | |
| fireEvents: Boolean = true |
addChildAt ( child: DisplayObject , index: Number , fireEvents: Boolean = true ): DisplayObject
Adds a child to the container at a certain index.
Parameters
| child: DisplayObject | |
| index: Number | |
| fireEvents: Boolean = true |
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
Add a child to this LML node, identifying it by id.
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. This centers this object about its own origin based on its 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 |
getChildAtUnsafe ( index: Number ): DisplayObject
Returns a child object at a certain index without doing bounds checks. For optimized use in cases where you are 100% about the index validity.
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 |
invalidateBitmapCache
(): Void
Inherited from DisplayObject
native
Update the cached texture before the next render.
This function has no effect if cacheAsBitmap is turned off.
localToGlobal
(
localPoint: Point
): Point
Inherited from DisplayObject
Transforms a point from the local coordinate system to global (stage) coordinates.
Parameters
| localPoint: Point |
moveChildLast ( child: DisplayObject ): Void
Moves a child to be the last object in the container.
Parameters
| child: DisplayObject |
preinitializeLMLNode
(
id: String
): Void
Inherited from DisplayObject
Pre-initialize the LML node.
Parameters
| id: String |
removeChild ( child: DisplayObject , dispose: Boolean = false , fireEvents: Boolean = true ): 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 | |
| fireEvents: Boolean = true |
removeChildAt ( index: Number , dispose: Boolean = false , fireEvents: Boolean = true ): 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 | |
| fireEvents: Boolean = true |
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 |
setChildrenUnsafe ( ordered: Vector.<DisplayObject> ): Void
Parameters
| ordered: Vector.<DisplayObject> |
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 |