new Group(game, parent, name, addToStage, enableBody, physicsBodyType)
A Group is a container for display objects including Sprites and Images.
Groups form the logical tree structure of the display/scene graph where local transformations are applied to children. For instance, all children are also moved/rotated/scaled when the group is moved/rotated/scaled.
In addition, Groups provides support for fast pooling and object recycling.
Groups are also display objects and can be nested as children within other Groups.
Parameters
Name | Type | Argument | Default | Description |
---|---|---|---|---|
game |
Phaser.Game | A reference to the currently running game. |
||
parent |
DisplayObject | null |
<optional> |
(game world) | The parent Group (or other DisplayObject) that this group will be added to. If undefined/unspecified the Group will be added to the Game World; if null the Group will not be added to any parent. |
name |
string |
<optional> |
'group' | A name for this group. Not used internally but useful for debugging. |
addToStage |
boolean |
<optional> |
false | If true this group will be added directly to the Game.Stage instead of Game.World. |
enableBody |
boolean |
<optional> |
false | If true all Sprites created with #create or {@link #createMulitple} will have a physics body created on them. Change the body type with #physicsBodyType. |
physicsBodyType |
integer |
<optional> |
0 | The physics body type to use when physics bodies are automatically added. See #physicsBodyType for values. |
- Source code: core/Group.js (Line 27)
Extends
Public Properties
-
[static] RETURN_CHILD : integer
-
A returnType value, as specified in iterate eg.
- Source code: core/Group.js (Line 255)
-
[static] RETURN_NONE : integer
-
A returnType value, as specified in iterate eg.
- Source code: core/Group.js (Line 241)
-
[static] RETURN_TOTAL : integer
-
A returnType value, as specified in iterate eg.
- Source code: core/Group.js (Line 248)
-
[static] SORT_ASCENDING : integer
-
A sort ordering value, as specified in sort eg.
- Source code: core/Group.js (Line 262)
-
[static] SORT_DESCENDING : integer
-
A sort ordering value, as specified in sort eg.
- Source code: core/Group.js (Line 269)
-
alive : boolean
-
The alive property is useful for Groups that are children of other Groups and need to be included/excluded in checks like forEachAlive.
- Default Value
- true
- Source code: core/Group.js (Line 92)
-
alpha : number
-
The alpha value of the group container.
- Source code: core/Group.js (Line 2212)
-
angle : number
-
The angle of rotation of the group container, in degrees.
This adjusts the group itself by modifying its local rotation transform.
This has no impact on the rotation/angle properties of the children, but it will update their worldTransform and on-screen orientation and position.
- Source code: core/Group.js (Line 2144)
-
cacheAsBitmap : boolean
-
Set if this display object is cached as a bitmap. This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects. To remove simply set this property to 'null'
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 366)
-
cameraOffset : Phaser.Point
-
If this object is fixedToCamera then this stores the x/y position offset relative to the top-left of the camera view. If the parent of this Group is also
fixedToCamera
then the offset here is in addition to that and should typically be disabled.- Source code: core/Group.js (Line 209)
-
[readonly] children : Array.<DisplayObject>
-
[read-only] The array of children of this container.
Type
- Array.<DisplayObject>
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 17)
-
classType : Object
-
The type of objects that will be created when using create or createMultiple.
Any object may be used but it should extend either Sprite or Image and accept the same constructor arguments: when a new object is created it is passed the following parameters to its constructor:
(game, x, y, key, frame)
.- Default Value
- Source code: core/Group.js (Line 129)
-
cursor : DisplayObject
-
The current display object that the group cursor is pointing to, if any. (Can be set manually.)
The cursor is a way to iterate through the children in a Group using next and previous.
- Source code: core/Group.js (Line 137)
-
[readonly] cursorIndex : integer
-
The current index of the Group cursor. Advance it with Group.next.
- Source code: core/Group.js (Line 192)
-
enableBody : boolean
-
If true all Sprites created by, or added to this group, will have a physics body enabled on them.
The default body type is controlled with physicsBodyType.
- Source code: core/Group.js (Line 145)
-
enableBodyDebug : boolean
-
If true when a physics body is created (via enableBody) it will create a physics debug object as well.
This only works for P2 bodies.
- Default Value
- false
- Source code: core/Group.js (Line 154)
-
exists : boolean
-
If exists is true the group is updated, otherwise it is skipped.
- Default Value
- true
- Source code: core/Group.js (Line 99)
-
filterArea :Rectangle
-
The area the filter is applied to like the hitArea this is used as more of an optimisation rather than figuring out the dimensions of the displayObject each frame you can set this rectangle
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 183)
-
filters : Array.<Filter>
-
Sets the filters for the displayObject. IMPORTANT: This is a webGL only feature and will be ignored by the canvas renderer. To remove filters simply set this property to 'null'
Type
- Array.<Filter>
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 328)
-
fixedToCamera : boolean
-
A Group that is fixed to the camera uses its x/y coordinates as offsets from the top left of the camera. These are stored in Group.cameraOffset.
Note that the cameraOffset values are in addition to any parent in the display list. So if this Group was in a Group that has x: 200, then this will be added to the cameraOffset.x
- Source code: core/Group.js (Line 202)
-
<internal> game : Phaser.Game
-
A reference to the currently running Game.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 38)
-
hash :array
-
The hash array is an array belonging to this Group into which you can add any of its children via Group.addToHash and Group.removeFromHash.
Only children of this Group can be added to and removed from the hash.
This hash is used automatically by Phaser Arcade Physics in order to perform non z-index based destructive sorting. However if you don't use Arcade Physics, or this isn't a physics enabled Group, then you can use the hash to perform your own sorting and filtering of Group children without touching their z-index (and therefore display draw order)
- Source code: core/Group.js (Line 222)
-
height : number
-
The height of the displayObjectContainer, setting this will actually modify the scale to achieve the value set
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 61)
-
hitArea :Rectangle | Circle | Ellipse | Polygon
-
This is the defined area that will pick up mouse / touch events. It is null by default. Setting it is a neat way of optimising the hitTest function that the interactionManager will use (as it will not need to hit test all the children)
Type
- Rectangle | Circle | Ellipse | Polygon
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 81)
-
ignoreDestroy : boolean
-
A group with
ignoreDestroy
set totrue
ignores all calls to itsdestroy
method.- Default Value
- false
- Source code: core/Group.js (Line 106)
-
[readonly] length : integer
-
Total number of children in this group, regardless of exists/alive status.
- Source code: core/Group.js (Line 2127)
-
mask : PIXI.Graphics
-
Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In PIXI a regular mask must be a PIXI.Graphics object. This allows for much faster masking in canvas as it utilises shape clipping. To remove a mask, set this property to null.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 303)
-
name : string
-
A name for this group. Not used internally but useful for debugging.
- Source code: core/Group.js (Line 49)
-
onDestroy : Phaser.Signal
-
This signal is dispatched when the group is destroyed.
- Source code: core/Group.js (Line 186)
-
[readonly] parent : PIXI.DisplayObjectContainer
-
[read-only] The display object container that contains this display object.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 98)
-
pendingDestroy : boolean
-
A Group is that has
pendingDestroy
set totrue
is flagged to have its destroy method called on the next logic update. You can set it directly to flag the Group to be destroyed on its next update.This is extremely useful if you wish to destroy a Group from within one of its own callbacks or a callback of one of its children.
- Source code: core/Group.js (Line 118)
-
physicsBodyType : integer
-
If enableBody is true this is the type of physics body that is created on new Sprites.
The valid values are Phaser.Physics.ARCADE, Phaser.Physics.P2, Phaser.Physics.NINJA, etc.
- Source code: core/Group.js (Line 162)
-
physicsSortDirection : integer
-
If this Group contains Arcade Physics Sprites you can set a custom sort direction via this property.
It should be set to one of the Phaser.Physics.Arcade sort direction constants:
Phaser.Physics.Arcade.SORT_NONE Phaser.Physics.Arcade.LEFT_RIGHT Phaser.Physics.Arcade.RIGHT_LEFT Phaser.Physics.Arcade.TOP_BOTTOM Phaser.Physics.Arcade.BOTTOM_TOP
If set to
null
the Group will use whatever Phaser.Physics.Arcade.sortDirection is set to. This is the default behavior.- Default Value
- null
- Source code: core/Group.js (Line 180)
-
[readonly] physicsType : number
-
The const physics body type of this object.
- Source code: core/Group.js (Line 85)
-
pivot :Point
-
The pivot point of the displayObject that it rotates around
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 49)
-
position :Point
-
The coordinate of the object relative to the local coordinates of the parent.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 14)
-
renderable : boolean
-
Can this object be rendered
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 90)
-
rotation : number
-
The angle of rotation of the group container, in radians.
This will adjust the group container itself by modifying its rotation. This will have no impact on the rotation value of its children, but it will update their worldTransform and on-screen position.
- Source code: core/Group.js (Line 2196)
-
scale :Point
-
The scale factor of the object.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 22)
-
[readonly] stage : PIXI.Stage
-
[read-only] The stage the display object is connected to, or undefined if it is not connected to the stage.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 107)
-
[readonly] total : integer
-
Total number of existing children in the group.
- Source code: core/Group.js (Line 2110)
-
transformCallback : Function
-
The transform callback is an optional callback that if set will be called at the end of the updateTransform method and sent two parameters: This Display Objects worldTransform matrix and its parents transform matrix. Both are PIXI.Matrix object types. The matrix are passed by reference and can be modified directly without needing to return them. This ability allows you to check any of the matrix values and perform actions such as clamping scale or limiting rotation, regardless of the parent transforms.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 30)
-
transformCallbackContext : Object
-
The context under which the transformCallback is invoked.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 41)
-
<internal> type : integer
-
Internal Phaser Type value.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 79)
-
visible : boolean
-
The visible state of the group. Non-visible Groups and all of their children are not rendered.
- Source code: core/Group.js (Line 2205)
-
width : number
-
The width of the displayObjectContainer, setting this will actually modify the scale to achieve the value set
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 32)
-
[readonly] worldAlpha : number
-
[read-only] The multiplied alpha of the displayObject
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 116)
-
[readonly] worldPosition :Point
-
The position of the Display Object based on the world transform. This value is updated at the end of updateTransform and takes all parent transforms into account.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 135)
-
[readonly] worldRotation : number
-
The rotation of the Display Object, in radians, based on the world transform. This value is updated at the end of updateTransform and takes all parent transforms into account.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 155)
-
[readonly] worldScale :Point
-
The scale of the Display Object based on the world transform. This value is updated at the end of updateTransform and takes all parent transforms into account.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 145)
-
worldVisible : boolean
-
[read-only] Indicates if the sprite is globally visible.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 279)
-
x : number
-
The x coordinate of the group container.
You can adjust the group container itself by modifying its coordinates. This will have no impact on the x/y coordinates of its children, but it will update their worldTransform and on-screen position.
- Source code: core/Group.js (Line 2178)
-
y : number
-
The y coordinate of the group container.
You can adjust the group container itself by modifying its coordinates. This will have no impact on the x/y coordinates of its children, but it will update their worldTransform and on-screen position.
- Source code: core/Group.js (Line 2187)
-
z : integer
-
The z-depth value of this object within its parent container/Group - the World is a Group as well. This value must be unique for each child in a Group.
- Source code: core/Group.js (Line 56)
Public Methods
-
add(child, silent) → {DisplayObject}
-
Adds an existing object as the top child in this group.
The child is automatically added to the top of the group and is displayed on top of every previous child.
If Group.enableBody is set then a physics body will be created on the object, so long as one does not already exist.
Use addAt to control where a child is added. Use create to create and add a new child.
Parameters
Name Type Argument Default Description child
DisplayObject The display object to add as a child.
silent
boolean <optional>
false If true the child will not dispatch the
onAddedToGroup
event.Returns
The child that was added to the group.
- Source code: core/Group.js (Line 271)
-
addAll(property, amount, checkAlive, checkVisible)
-
Adds the amount to the given property on all children in this group.
Group.addAll('x', 10)
will add 10 to the child.x value for each child.Parameters
Name Type Description property
string The property to increment, for example 'body.velocity.x' or 'angle'.
amount
number The amount to increment the property by. If child.x = 10 then addAll('x', 40) would make child.x = 50.
checkAlive
boolean If true the property will only be changed if the child is alive.
checkVisible
boolean If true the property will only be changed if the child is visible.
- Source code: core/Group.js (Line 1108)
-
addAt(child, index, silent) → {DisplayObject}
-
Adds an existing object to this group.
The child is added to the group at the location specified by the index value, this allows you to control child ordering.
Parameters
Name Type Argument Default Description child
DisplayObject The display object to add as a child.
index
integer <optional>
0 The index within the group to insert the child to.
silent
boolean <optional>
false If true the child will not dispatch the
onAddedToGroup
event.Returns
The child that was added to the group.
- Source code: core/Group.js (Line 400)
-
addChild(child) → {PIXI.DisplayObject}
-
Adds a child to the container.
Parameters
Name Type Description child
PIXI.DisplayObject The DisplayObject to add to the container
Returns
The child that was added.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 91)
-
addChildAt(child, index) → {PIXI.DisplayObject}
-
Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown
Parameters
Name Type Description child
PIXI.DisplayObject The child to add
index
Number The index to place the child in
Returns
The child that was added.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 103)
-
addMultiple(children, silent) → {Array.<DisplayObject> | Phaser.Group}
-
Adds an array of existing Display Objects to this Group.
The Display Objects are automatically added to the top of this Group, and will render on-top of everything already in this Group.
As well as an array you can also pass another Group as the first argument. In this case all of the children from that Group will be removed from it and added into this Group.
Parameters
Name Type Argument Default Description children
Array.<DisplayObject> | Phaser.Group An array of display objects or a Phaser.Group. If a Group is given then all children will be moved from it.
silent
boolean <optional>
false If true the children will not dispatch the
onAddedToGroup
event.Returns
Array.<DisplayObject> | Phaser.Group -The array of children or Group of children that were added to this Group.
- Source code: core/Group.js (Line 369)
-
addToHash(child) → {boolean}
-
Adds a child of this Group into the hash array. This call will return false if the child is not a child of this Group, or is already in the hash.
Parameters
Name Type Description child
DisplayObject The display object to add to this Groups hash. Must be a member of this Group already and not present in the hash.
Returns
boolean -True if the child was successfully added to the hash, otherwise false.
- Source code: core/Group.js (Line 319)
-
<internal> ascendingSortHandler(a, b)
-
An internal helper function for the sort process.
Parameters
Name Type Description a
object The first object being sorted.
b
object The second object being sorted.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 1644)
-
bringToTop(child) → {any}
-
Brings the given child to the top of this group so it renders above all other children.
Parameters
Name Type Description child
any The child to bring to the top of this group.
Returns
any -The child that was moved.
- Source code: core/Group.js (Line 656)
-
callAll(method, context, args)
-
Calls a function, specified by name, on all on children.
The function is called for all children regardless if they are dead or alive (see callAllExists for different options). After the method parameter and context you can add as many extra parameters as you like, which will all be passed to the child.
Parameters
Name Type Argument Default Description method
string Name of the function on the child to call. Deep property lookup is supported.
context
string <optional>
null A string containing the context under which the method will be executed. Set to null to default to the child.
args
any <repeatable>
Additional parameters that will be passed to the method.
- Source code: core/Group.js (Line 1263)
-
callAllExists(callback, existsValue, parameter)
-
Calls a function, specified by name, on all children in the group who exist (or do not exist).
After the existsValue parameter you can add as many parameters as you like, which will all be passed to the child callback.
Parameters
Name Type Argument Description callback
string Name of the function on the children to call.
existsValue
boolean Only children with exists=existsValue will be called.
parameter
any <repeatable>
Additional parameters that will be passed to the callback.
- Source code: core/Group.js (Line 1176)
-
<internal> callbackFromArray(child, callback, length)
-
Returns a reference to a function that exists on a child of the group based on the given callback array.
Parameters
Name Type Description child
object The object to inspect.
callback
array The array of function names.
length
integer The size of the array (pre-calculated in callAll).
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 1210)
-
checkAll(key, value, checkAlive, checkVisible, force)
-
Quickly check that the same property across all children of this group is equal to the given value.
This call doesn't descend down children, so if you have a Group inside of this group, the property will be checked on the group but not its children.
Parameters
Name Type Argument Default Description key
string The property, as a string, to be set. For example: 'body.velocity.x'
value
any The value that will be checked.
checkAlive
boolean <optional>
false If set then only children with alive=true will be checked. This includes any Groups that are children.
checkVisible
boolean <optional>
false If set then only children with visible=true will be checked. This includes any Groups that are children.
force
boolean <optional>
false If
force
is true then the property will be checked on the child regardless if it already exists or not. If true and the property doesn't exist, false will be returned.- Source code: core/Group.js (Line 1075)
-
checkProperty(child, key, value, force) → {boolean}
-
Checks a property for the given value on the child.
Parameters
Name Type Argument Default Description child
any The child to check the property value on.
key
array An array of strings that make up the property that will be set.
value
any The value that will be checked.
force
boolean <optional>
false If
force
is true then the property will be checked on the child regardless if it already exists or not. If true and the property doesn't exist, false will be returned.Returns
boolean -True if the property was was equal to value, false if not.
- Source code: core/Group.js (Line 939)
-
countDead() → {integer}
-
Get the number of dead children in this group.
Returns
integer -The number of children flagged as dead.
- Source code: core/Group.js (Line 1866)
-
countLiving() → {integer}
-
Get the number of living children in this group.
Returns
integer -The number of children flagged as alive.
- Source code: core/Group.js (Line 1854)
-
create(x, y, key, frame, exists) → {DisplayObject}
-
Creates a new Phaser.Sprite object and adds it to the top of this group.
Use classType to change the type of object creaded.
Parameters
Name Type Argument Default Description x
number The x coordinate to display the newly created Sprite at. The value is in relation to the group.x point.
y
number The y coordinate to display the newly created Sprite at. The value is in relation to the group.y point.
key
string The Game.cache key of the image that this Sprite will use.
frame
integer | string <optional>
If the Sprite image contains multiple frames you can specify which one to use here.
exists
boolean <optional>
true The default exists state of the Sprite.
Returns
The child that was created: will be a Phaser.Sprite unless #classType has been changed.
- Source code: core/Group.js (Line 465)
-
createMultiple(quantity, key, frame, exists)
-
Creates multiple Phaser.Sprite objects and adds them to the top of this group.
Useful if you need to quickly generate a pool of identical sprites, such as bullets.
By default the sprites will be set to not exist and will be positioned at 0, 0 (relative to the group.x/y). Use classType to change the type of object created.
Parameters
Name Type Argument Default Description quantity
integer The number of Sprites to create.
key
string The Game.cache key of the image that this Sprite will use.
frame
integer | string <optional>
If the Sprite image contains multiple frames you can specify which one to use here.
exists
boolean <optional>
false The default exists state of the Sprite.
- Source code: core/Group.js (Line 511)
-
customSort(sortHandler, context)
-
Sort the children in the group according to custom sort function.
The
sortHandler
is provided the two parameters: the two children involved in the comparison (a and b). It should return -1 ifa > b
, 1 ifa < b
or 0 ifa === b
.Parameters
Name Type Argument Default Description sortHandler
function The custom sort function.
context
object <optional>
undefined The context in which the sortHandler is called.
- Source code: core/Group.js (Line 1620)
-
<internal> descendingSortHandler(a, b)
-
An internal helper function for the sort process.
Parameters
Name Type Description a
object The first object being sorted.
b
object The second object being sorted.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 1676)
-
destroy(destroyChildren, soft)
-
Destroys this group.
Removes all children, then removes this group from its parent and nulls references.
Parameters
Name Type Argument Default Description destroyChildren
boolean <optional>
true If true
destroy
will be invoked on each removed child.soft
boolean <optional>
false A 'soft destroy' (set to true) doesn't remove this group from its parent or null the game reference. Set to false and it does.
- Source code: core/Group.js (Line 2073)
-
divideAll(property, amount, checkAlive, checkVisible)
-
Divides the given property by the amount on all children in this group.
Group.divideAll('x', 2)
will half the child.x value for each child.Parameters
Name Type Description property
string The property to divide, for example 'body.velocity.x' or 'angle'.
amount
number The amount to divide the property by. If child.x = 100 then divideAll('x', 2) would make child.x = 50.
checkAlive
boolean If true the property will only be changed if the child is alive.
checkVisible
boolean If true the property will only be changed if the child is visible.
- Source code: core/Group.js (Line 1159)
-
filter(predicate, checkExists) → {Phaser.ArraySet}
-
Find children matching a certain predicate.
For example:
var healthyList = Group.filter(function(child, index, children) { return child.health > 10 ? true : false; }, true); healthyList.callAll('attack');
Note: Currently this will skip any children which are Groups themselves.
Parameters
Name Type Argument Default Description predicate
function The function that each child will be evaluated against. Each child of the group will be passed to it as its first parameter, the index as the second, and the entire child array as the third
checkExists
boolean <optional>
false If true, only existing can be selected; otherwise all children can be selected and will be passed to the predicate.
Returns
Returns an array list containing all the children that the predicate returned true for
- Source code: core/Group.js (Line 1406)
-
forEach(callback, callbackContext, checkExists, args)
-
Call a function on each child in this group.
Additional arguments for the callback can be specified after the
checkExists
parameter. For example,Group.forEach(awardBonusGold, this, true, 100, 500)
would invoke
awardBonusGold
function with the parameters(child, 100, 500)
.Note: This check will skip any children which are Groups themselves.
Parameters
Name Type Argument Default Description callback
function The function that will be called for each applicable child. The child will be passed as the first argument.
callbackContext
object The context in which the function should be called (usually 'this').
checkExists
boolean <optional>
false If set only children matching for which
exists
is true will be passed to the callback, otherwise all children will be passed.args
any <optional>
<repeatable>
(none) Additional arguments to pass to the callback function, after the child item.
- Source code: core/Group.js (Line 1446)
-
forEachAlive(callback, callbackContext, args)
-
Call a function on each alive child in this group.
See forEach for details.
Parameters
Name Type Argument Default Description callback
function The function that will be called for each applicable child. The child will be passed as the first argument.
callbackContext
object The context in which the function should be called (usually 'this').
args
any <optional>
<repeatable>
(none) Additional arguments to pass to the callback function, after the child item.
- Source code: core/Group.js (Line 1528)
-
forEachDead(callback, callbackContext, args)
-
Call a function on each dead child in this group.
See forEach for details.
Parameters
Name Type Argument Default Description callback
function The function that will be called for each applicable child. The child will be passed as the first argument.
callbackContext
object The context in which the function should be called (usually 'this').
args
any <optional>
<repeatable>
(none) Additional arguments to pass to the callback function, after the child item.
- Source code: core/Group.js (Line 1556)
-
forEachExists(callback, callbackContext, args)
-
Call a function on each existing child in this group.
See forEach for details.
Parameters
Name Type Argument Default Description callback
function The function that will be called for each applicable child. The child will be passed as the first argument.
callbackContext
object The context in which the function should be called (usually 'this').
args
any <optional>
<repeatable>
(none) Additional arguments to pass to the callback function, after the child item.
- Source code: core/Group.js (Line 1500)
-
generateTexture(resolution, scaleMode, renderer) → {PIXI.Texture}
-
Useful function that returns a texture of the displayObject object that can then be used to create sprites This can be quite useful if your displayObject is static / complicated and needs to be reused multiple times.
Parameters
Name Type Description resolution
Number The resolution of the texture being generated
scaleMode
Number See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values
renderer
PIXI.CanvasRenderer | PIXI.WebGLRenderer The renderer used to generate the texture.
Returns
a texture of the graphics object
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 549)
-
getAt(index) → {DisplayObject | integer}
-
Returns the child found at the given index within this group.
Parameters
Name Type Description index
integer The index to return the child from.
Returns
DisplayObject | integer -The child that was found at the given index, or -1 for an invalid index.
- Source code: core/Group.js (Line 445)
-
getBottom() → {any}
-
Returns the child at the bottom of this group.
The bottom child the child being displayed (rendered) below every other child.
Returns
any -The child at the bottom of the Group.
- Source code: core/Group.js (Line 1837)
-
getBounds() → {Rectangle}
-
Retrieves the bounds of the displayObjectContainer as a rectangle. The bounds calculation takes all visible children into consideration.
Returns
Rectangle -The rectangular bounding area
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 307)
-
getChildAt(index) → {PIXI.DisplayObject}
-
Returns the child at the specified index
Parameters
Name Type Description index
Number The index to get the child from
Returns
The child at the given index, if any.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 194)
-
getChildIndex(child) → {Number}
-
Returns the index position of a child DisplayObject instance
Parameters
Name Type Description child
PIXI.DisplayObject The DisplayObject instance to identify
Returns
Number -The index position of the child display object to identify
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 159)
-
getFirstAlive() → {any}
-
Get the first child that is alive (
child.alive === true
).This is handy for checking if everything has been wiped out, or choosing a squad leader, etc.
Returns
any -The first alive child, or null if none found.
- Source code: core/Group.js (Line 1792)
-
getFirstDead() → {any}
-
Get the first child that is dead (
child.alive === false
).This is handy for checking if everything has been wiped out, or choosing a squad leader, etc.
Returns
any -The first dead child, or null if none found.
- Source code: core/Group.js (Line 1806)
-
getFirstExists(exists) → {any}
-
Get the first display object that exists, or doesn't exist.
Parameters
Name Type Argument Default Description exists
boolean <optional>
true If true, find the first existing child; otherwise find the first non-existing child.
Returns
any -The first child, or null if none found.
- Source code: core/Group.js (Line 1774)
-
getIndex(child) → {integer}
-
Get the index position of the given child in this group, which should match the child's
z
property.Parameters
Name Type Description child
any The child to get the index for.
Returns
integer -The index of the child or -1 if it's not a member of this group.
- Source code: core/Group.js (Line 778)
-
getLocalBounds() → {Rectangle}
-
Retrieves the non-global local bounds of the displayObjectContainer as a rectangle. The calculation takes all visible children into consideration.
Returns
Rectangle -The rectangular bounding area
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 367)
-
getRandom(startIndex, length) → {any}
-
Returns a random child from the group.
Parameters
Name Type Argument Default Description startIndex
integer <optional>
0 Offset from the front of the front of the group (lowest child).
length
integer <optional>
(to top) Restriction on the number of values you want to randomly select from.
Returns
any -A random child of this Group.
- Source code: core/Group.js (Line 1878)
-
getTop() → {any}
-
Return the child at the top of this group.
The top child is the child displayed (rendered) above every other child.
Returns
any -The child at the top of the Group.
- Source code: core/Group.js (Line 1820)
-
hasProperty(child, key) → {boolean}
-
Checks if the child has the given property.
Will scan up to 4 levels deep only.
Parameters
Name Type Description child
any The child to check for the existance of the property on.
key
Array.<string> An array of strings that make up the property.
Returns
boolean -True if the child has the property, otherwise false.
- Source code: core/Group.js (Line 826)
-
iterate(key, value, returnType, callback, callbackContext, args) → {any}
-
Iterates over the children of the group performing one of several actions for matched children.
A child is considered a match when it has a property, named
key
, whose value is equal tovalue
according to a strict equality comparison.The result depends on the
returnType
:- RETURN_TOTAL: The callback, if any, is applied to all matching children. The number of matched children is returned.
- RETURN_NONE: The callback, if any, is applied to all matching children. No value is returned.
- RETURN_CHILD: The callback, if any, is applied to the first matching child and the first matched child is returned. If there is no matching child then null is returned.
If
args
is specified it must be an array. The matched child will be assigned to the first element and the entire array will be applied to the callback function.Parameters
Name Type Argument Default Description key
string The child property to check, i.e. 'exists', 'alive', 'health'
value
any A child matches if
child[key] === value
is true.returnType
integer How to iterate the children and what to return.
callback
function <optional>
null Optional function that will be called on each matching child. The matched child is supplied as the first argument.
callbackContext
object <optional>
The context in which the function should be called (usually 'this').
args
Array.<any> <optional>
(none) The arguments supplied to to the callback; the first array index (argument) will be replaced with the matched child.
Returns
any -Returns either an integer (for RETURN_TOTAL), the first matched child (for RETURN_CHILD), or null.
- Source code: core/Group.js (Line 1701)
-
moveAll(group, silent) → {Phaser.Group}
-
Moves all children from this Group to the Group given.
Parameters
Name Type Argument Default Description group
Phaser.Group The new Group to which the children will be moved to.
silent
boolean <optional>
false If true the children will not dispatch the
onAddedToGroup
event for the new Group.Returns
The Group to which all the children were moved.
- Source code: core/Group.js (Line 1948)
-
moveDown(child) → {any}
-
Moves the given child down one place in this group unless it's already at the bottom.
Parameters
Name Type Description child
any The child to move down in the group.
Returns
any -The child that was moved.
- Source code: core/Group.js (Line 718)
-
moveUp(child) → {any}
-
Moves the given child up one place in this group unless it's already at the top.
Parameters
Name Type Description child
any The child to move up in the group.
Returns
any -The child that was moved.
- Source code: core/Group.js (Line 694)
-
multiplyAll(property, amount, checkAlive, checkVisible)
-
Multiplies the given property by the amount on all children in this group.
Group.multiplyAll('x', 2)
will x2 the child.x value for each child.Parameters
Name Type Description property
string The property to multiply, for example 'body.velocity.x' or 'angle'.
amount
number The amount to multiply the property by. If child.x = 10 then multiplyAll('x', 2) would make child.x = 20.
checkAlive
boolean If true the property will only be changed if the child is alive.
checkVisible
boolean If true the property will only be changed if the child is visible.
- Source code: core/Group.js (Line 1142)
-
next() → {any}
-
Advances the group cursor to the next (higher) object in the group.
If the cursor is at the end of the group (top child) it is moved the start of the group (bottom child).
Returns
any -The child the cursor now points to.
- Source code: core/Group.js (Line 582)
-
<internal> postUpdate()
-
The core postUpdate - as called by World.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 1382)
-
<internal> preUpdate()
-
The core preUpdate - as called by World.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 1336)
-
previous() → {any}
-
Moves the group cursor to the previous (lower) child in the group.
If the cursor is at the start of the group (bottom child) it is moved to the end (top child).
Returns
any -The child the cursor now points to.
- Source code: core/Group.js (Line 611)
-
remove(child, destroy, silent) → {boolean}
-
Removes the given child from this group.
This will dispatch an
onRemovedFromGroup
event from the child (if it has one), and optionally destroy the child.If the group cursor was referring to the removed child it is updated to refer to the next child.
Parameters
Name Type Argument Default Description child
any The child to remove.
destroy
boolean <optional>
false If true
destroy
will be invoked on the removed child.silent
boolean <optional>
false If true the the child will not dispatch the
onRemovedFromGroup
event.Returns
boolean -true if the child was removed from this group, otherwise false.
- Source code: core/Group.js (Line 1900)
-
removeAll(destroy, silent)
-
Removes all children from this group, but does not remove the group from its parent.
Parameters
Name Type Argument Default Description destroy
boolean <optional>
false If true
destroy
will be invoked on each removed child.silent
boolean <optional>
false If true the children will not dispatch their
onRemovedFromGroup
events.- Source code: core/Group.js (Line 1977)
-
removeBetween(startIndex, endIndex, destroy, silent)
-
Removes all children from this group whose index falls beteen the given startIndex and endIndex values.
Parameters
Name Type Argument Default Description startIndex
integer The index to start removing children from.
endIndex
integer <optional>
The index to stop removing children at. Must be higher than startIndex. If undefined this method will remove all children between startIndex and the end of the group.
destroy
boolean <optional>
false If true
destroy
will be invoked on each removed child.silent
boolean <optional>
false If true the children will not dispatch their
onRemovedFromGroup
events.- Source code: core/Group.js (Line 2018)
-
removeChild(child) → {PIXI.DisplayObject}
-
Removes a child from the container.
Parameters
Name Type Description child
PIXI.DisplayObject The DisplayObject to remove
Returns
The child that was removed.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 211)
-
removeChildAt(index) → {PIXI.DisplayObject}
-
Removes a child from the specified index position.
Parameters
Name Type Description index
Number The index to get the child from
Returns
The child that was removed.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 226)
-
removeChildren(beginIndex, endIndex)
-
Removes all children from this container that are within the begin and end indexes.
Parameters
Name Type Description beginIndex
Number The beginning position. Default value is 0.
endIndex
Number The ending position. Default value is size of the container.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 244)
-
removeFromHash(child) → {boolean}
-
Removes a child of this Group from the hash array. This call will return false if the child is not in the hash.
Parameters
Name Type Description child
DisplayObject The display object to remove from this Groups hash. Must be a member of this Group and in the hash.
Returns
boolean -True if the child was successfully removed from the hash, otherwise false.
- Source code: core/Group.js (Line 344)
-
removeStageReference()
-
Removes the current stage reference from the container and all of its children.
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 407)
-
replace(oldChild, newChild) → {any}
-
Replaces a child of this group with the given newChild. The newChild cannot be a member of this group.
Parameters
Name Type Description oldChild
any The child in this group that will be replaced.
newChild
any The child to be inserted into this group.
Returns
any -Returns the oldChild that was replaced within this group.
- Source code: core/Group.js (Line 791)
-
resetCursor(index) → {any}
-
Sets the group cursor to the first child in the group.
If the optional index parameter is given it sets the cursor to the object at that index instead.
Parameters
Name Type Argument Default Description index
integer <optional>
0 Set the cursor to point to a specific index.
Returns
any -The child the cursor now points to.
- Source code: core/Group.js (Line 555)
-
reverse()
-
Reverses all children in this group.
This operaation applies only to immediate children and does not propagate to subgroups.
- Source code: core/Group.js (Line 764)
-
sendToBack(child) → {any}
-
Sends the given child to the bottom of this group so it renders below all other children.
Parameters
Name Type Description child
any The child to send to the bottom of this group.
Returns
any -The child that was moved.
- Source code: core/Group.js (Line 675)
-
set(child, key, value, checkAlive, checkVisible, operation, force) → {boolean}
-
Quickly set a property on a single child of this group to a new value.
The operation parameter controls how the new value is assigned to the property, from simple replacement to addition and multiplication.
Parameters
Name Type Argument Default Description child
Phaser.Sprite The child to set the property on.
key
string The property, as a string, to be set. For example: 'body.velocity.x'
value
any The value that will be set.
checkAlive
boolean <optional>
false If set then the child will only be updated if alive=true.
checkVisible
boolean <optional>
false If set then the child will only be updated if visible=true.
operation
integer <optional>
0 Controls how the value is assigned. A value of 0 replaces the value with the new one. A value of 1 adds it, 2 subtracts it, 3 multiplies it and 4 divides it.
force
boolean <optional>
false If
force
is true then the property will be set on the child regardless if it already exists or not. If false and the property doesn't exist, nothing will be set.Returns
boolean -True if the property was set, false if not.
- Source code: core/Group.js (Line 968)
-
setAll(key, value, checkAlive, checkVisible, operation, force)
-
Quickly set the same property across all children of this group to a new value.
This call doesn't descend down children, so if you have a Group inside of this group, the property will be set on the group but not its children. If you need that ability please see
Group.setAllChildren
.The operation parameter controls how the new value is assigned to the property, from simple replacement to addition and multiplication.
Parameters
Name Type Argument Default Description key
string The property, as a string, to be set. For example: 'body.velocity.x'
value
any The value that will be set.
checkAlive
boolean <optional>
false If set then only children with alive=true will be updated. This includes any Groups that are children.
checkVisible
boolean <optional>
false If set then only children with visible=true will be updated. This includes any Groups that are children.
operation
integer <optional>
0 Controls how the value is assigned. A value of 0 replaces the value with the new one. A value of 1 adds it, 2 subtracts it, 3 multiplies it and 4 divides it.
force
boolean <optional>
false If
force
is true then the property will be set on the child regardless if it already exists or not. If false and the property doesn't exist, nothing will be set.- Source code: core/Group.js (Line 999)
-
setAllChildren(key, value, checkAlive, checkVisible, operation, force)
-
Quickly set the same property across all children of this group, and any child Groups, to a new value.
If this group contains other Groups then the same property is set across their children as well, iterating down until it reaches the bottom. Unlike with
setAll
the property is NOT set on child Groups itself.The operation parameter controls how the new value is assigned to the property, from simple replacement to addition and multiplication.
Parameters
Name Type Argument Default Description key
string The property, as a string, to be set. For example: 'body.velocity.x'
value
any The value that will be set.
checkAlive
boolean <optional>
false If set then only children with alive=true will be updated. This includes any Groups that are children.
checkVisible
boolean <optional>
false If set then only children with visible=true will be updated. This includes any Groups that are children.
operation
integer <optional>
0 Controls how the value is assigned. A value of 0 replaces the value with the new one. A value of 1 adds it, 2 subtracts it, 3 multiplies it and 4 divides it.
force
boolean <optional>
false If
force
is true then the property will be set on the child regardless if it already exists or not. If false and the property doesn't exist, nothing will be set.- Source code: core/Group.js (Line 1034)
-
setChildIndex(child, index)
-
Changes the position of an existing child in the display object container
Parameters
Name Type Description child
PIXI.DisplayObject The child DisplayObject instance for which you want to change the index number
index
Number The resulting index number for the child display object
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 176)
-
setProperty(child, key, value, operation, force) → {boolean}
-
Sets a property to the given value on the child. The operation parameter controls how the value is set.
The operations are:
- 0: set the existing value to the given value; if force is
true
a new property will be created if needed - 1: will add the given value to the value already present.
- 2: will subtract the given value from the value already present.
- 3: will multiply the value already present by the given value.
- 4: will divide the value already present by the given value.
Parameters
Name Type Argument Default Description child
any The child to set the property value on.
key
array An array of strings that make up the property that will be set.
value
any The value that will be set.
operation
integer <optional>
0 Controls how the value is assigned. A value of 0 replaces the value with the new one. A value of 1 adds it, 2 subtracts it, 3 multiplies it and 4 divides it.
force
boolean <optional>
false If
force
is true then the property will be set on the child regardless if it already exists or not. If false and the property doesn't exist, nothing will be set.Returns
boolean -True if the property was set, false if not.
- Source code: core/Group.js (Line 861)
- 0: set the existing value to the given value; if force is
-
setStageReference(stage)
-
Sets the containers Stage reference. This is the Stage that this object, and all of its children, is connected to.
Parameters
Name Type Description stage
PIXI.Stage the stage that the container will have as its current stage reference
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 391)
-
sort(key, order)
-
Sort the children in the group according to a particular key and ordering.
Call this function to sort the group according to a particular key value and order. For example to depth sort Sprites for Zelda-style game you might call
group.sort('y', Phaser.Group.SORT_ASCENDING)
at the bottom of yourState.update()
.Parameters
Name Type Argument Default Description key
string <optional>
'z' The name of the property to sort on. Defaults to the objects z-depth value.
order
integer <optional>
Phaser.Group.SORT_ASCENDING Order ascending (SORT_ASCENDING) or descending (SORT_DESCENDING).
- Source code: core/Group.js (Line 1584)
-
subAll(property, amount, checkAlive, checkVisible)
-
Subtracts the amount from the given property on all children in this group.
Group.subAll('x', 10)
will minus 10 from the child.x value for each child.Parameters
Name Type Description property
string The property to decrement, for example 'body.velocity.x' or 'angle'.
amount
number The amount to subtract from the property. If child.x = 50 then subAll('x', 40) would make child.x = 10.
checkAlive
boolean If true the property will only be changed if the child is alive.
checkVisible
boolean If true the property will only be changed if the child is visible.
- Source code: core/Group.js (Line 1125)
-
swap(child1, child2)
-
Swaps the position of two children in this group.
Both children must be in this group, a child cannot be swapped with itself, and unparented children cannot be swapped.
Parameters
Name Type Description child1
any The first child to swap.
child2
any The second child to swap.
- Source code: core/Group.js (Line 640)
-
swapChildren(child, child2)
-
Swaps the position of 2 Display Objects within this container.
Parameters
Name Type Description child
PIXI.DisplayObject -
child2
PIXI.DisplayObject -
- Inherited From
- Source code: pixi/display/DisplayObjectContainer.js (Line 134)
-
toGlobal(position) → {Point}
-
Calculates the global position of the display object
Parameters
Name Type Description position
Point The world origin to calculate from
Returns
Point -A point object representing the position of this object
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 583)
-
toLocal(position, from) → {Point}
-
Calculates the local position of the display object relative to another point
Parameters
Name Type Argument Description position
Point The world origin to calculate from
from
PIXI.DisplayObject <optional>
The DisplayObject to calculate the global position from
Returns
Point -A point object representing the position of this object
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 597)
-
<internal> update()
-
The core update - as called by World.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 1366)
-
updateCache()
-
Generates and updates the cached sprite for this object.
- Inherited From
- Source code: pixi/display/DisplayObject.js (Line 573)
-
<internal> updateZ()
-
Internal method that re-applies all of the children's Z values.
This must be called whenever children ordering is altered so that their
z
indices are correctly updated.- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: core/Group.js (Line 536)
-
xy(index, x, y)
-
Positions the child found at the given index within this group to the given x and y coordinates.
Parameters
Name Type Description index
integer The index of the child in the group to set the position of.
x
number The new x position of the child.
y
number The new y position of the child.
- Source code: core/Group.js (Line 742)