new BodyDebug(game, body, settings)
Draws a P2 Body to a Graphics instance for visual debugging. Needless to say, for every body you enable debug drawing on, you are adding processor and graphical overhead. So use sparingly and rarely (if ever) in production code.
Also be aware that the Debug body is only updated when the Sprite it is connected to changes position. If you manipulate the sprite in any other way (such as moving it to another Group or bringToTop, etc) then you will need to manually adjust its BodyDebug as well.
Parameters:
Name | Type | Description |
---|---|---|
game |
Phaser.Game | Game reference to the currently running game. |
body |
Phaser.Physics.P2.Body | The P2 Body to display debug data for. |
settings |
object | Settings object. |
- Source - physics/p2/BodyDebug.js, line 24
Extends
Members
-
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.
- Inherited From:
- Default Value:
- true
- Source - core/Group.js, line 93
-
alpha :number
-
The alpha value of the group container.
- Inherited From:
- Source - core/Group.js, line 2945
-
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.
- Inherited From:
- Source - core/Group.js, line 2594
-
body :Phaser.Physics.P2.Body
-
The P2 Body to display debug data for.
- Source - physics/p2/BodyDebug.js, line 50
-
bottom :number
-
The bottom coordinate of this Group.
It is derived by calling
getBounds
, calculating the Groups dimensions based on its visible children.Note that no ancestors are factored into the result, meaning that if this Group is nested within another Group, with heavy transforms on it, the result of this property is likely to be incorrect. It is safe to get and set this property if the Group is a top-level descendant of Phaser.World, or untransformed parents.
- Inherited From:
- Source - core/Group.js, line 2782
-
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.- Inherited From:
- Source - core/Group.js, line 272
-
canvas :Phaser.Graphics
-
The canvas to render the debug info to.
- Source - physics/p2/BodyDebug.js, line 55
-
centerX :number
-
The center x coordinate of this Group.
It is derived by calling
getBounds
, calculating the Groups dimensions based on its visible children.Note that no ancestors are factored into the result, meaning that if this Group is nested within another Group, with heavy transforms on it, the result of this property is likely to be incorrect. It is safe to get and set this property if the Group is a top-level descendant of Phaser.World, or untransformed parents.
- Inherited From:
- Source - core/Group.js, line 2617
-
centerY :number
-
The center y coordinate of this Group.
It is derived by calling
getBounds
, calculating the Groups dimensions based on its visible children.Note that no ancestors are factored into the result, meaning that if this Group is nested within another Group, with heavy transforms on it, the result of this property is likely to be incorrect. It is safe to get and set this property if the Group is a top-level descendant of Phaser.World, or untransformed parents.
- Inherited From:
- Source - core/Group.js, line 2650
-
<readonly> children :Array.<DisplayObject>
-
[read-only] The array of children of this container.
Type:
- Array.<DisplayObject>
- Inherited From:
- Source - 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)
.- Inherited From:
- Default Value:
- Source - core/Group.js, line 130
-
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.
- Inherited From:
- Source - core/Group.js, line 138
-
<readonly> cursorIndex :integer
-
The current index of the Group cursor. Advance it with Group.next.
- Inherited From:
- Source - core/Group.js, line 255
-
enableBody :boolean
-
If true all Sprites created by, or added to this group, will have a physics body enabled on them.
If there are children already in the Group at the time you set this property, they are not changed.
The default body type is controlled with physicsBodyType.
- Inherited From:
- Source - core/Group.js, line 208
-
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.
- Inherited From:
- Source - core/Group.js, line 217
-
exists :boolean
-
If exists is true the group is updated, otherwise it is skipped.
- Inherited From:
- Default Value:
- true
- Source - core/Group.js, line 100
-
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
- Inherited From:
- Source - core/Group.js, line 265
-
<internal> game :Phaser.Game
-
A reference to the currently running Game.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - 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)
- Inherited From:
- Source - core/Group.js, line 285
-
height :Number
-
The height of the displayObjectContainer, setting this will actually modify the scale to achieve the value set
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 72
-
ignoreChildInput :Boolean
-
If
ignoreChildInput
isfalse
it will allow this objects children to be considered as valid for Input events.If this property is
true
then the children will not be considered as valid for Input events.Note that this property isn't recursive: only immediate children are influenced, it doesn't scan further down.
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 26
-
ignoreDestroy :boolean
-
A group with
ignoreDestroy
set totrue
ignores all calls to itsdestroy
method.- Inherited From:
- Source - core/Group.js, line 107
-
inputEnableChildren :boolean
-
A Group with
inputEnableChildren
set totrue
will automatically callinputEnabled = true
on any children added to, or created by, this Group.If there are children already in the Group at the time you set this property, they are not changed.
- Inherited From:
- Source - core/Group.js, line 149
-
left :number
-
The left coordinate of this Group.
It is derived by calling
getBounds
, calculating the Groups dimensions based on its visible children.Note that no ancestors are factored into the result, meaning that if this Group is nested within another Group, with heavy transforms on it, the result of this property is likely to be incorrect. It is safe to get and set this property if the Group is a top-level descendant of Phaser.World, or untransformed parents.
- Inherited From:
- Source - core/Group.js, line 2683
-
<readonly> length :integer
-
Total number of children in this group, regardless of exists/alive status.
- Inherited From:
- Source - core/Group.js, line 2577
-
name :string
-
A name for this group. Not used internally but useful for debugging.
- Inherited From:
- Source - core/Group.js, line 49
-
onChildInputDown :Phaser.Signal
-
This Signal is dispatched whenever a child of this Group emits an onInputDown signal as a result of having been interacted with by a Pointer. You can bind functions to this Signal instead of to every child Sprite.
This Signal is sent 2 arguments: A reference to the Sprite that triggered the signal, and a reference to the Pointer that caused it.
- Inherited From:
- Source - core/Group.js, line 161
-
onChildInputOut :Phaser.Signal
-
This Signal is dispatched whenever a child of this Group emits an onInputOut signal as a result of having been interacted with by a Pointer. You can bind functions to this Signal instead of to every child Sprite.
This Signal is sent 2 arguments: A reference to the Sprite that triggered the signal, and a reference to the Pointer that caused it.
- Inherited From:
- Source - core/Group.js, line 198
-
onChildInputOver :Phaser.Signal
-
This Signal is dispatched whenever a child of this Group emits an onInputOver signal as a result of having been interacted with by a Pointer. You can bind functions to this Signal instead of to every child Sprite.
This Signal is sent 2 arguments: A reference to the Sprite that triggered the signal, and a reference to the Pointer that caused it.
- Inherited From:
- Source - core/Group.js, line 186
-
onChildInputUp :Phaser.Signal
-
This Signal is dispatched whenever a child of this Group emits an onInputUp signal as a result of having been interacted with by a Pointer. You can bind functions to this Signal instead of to every child Sprite.
This Signal is sent 3 arguments: A reference to the Sprite that triggered the signal, a reference to the Pointer that caused it, and a boolean value
isOver
that tells you if the Pointer is still over the Sprite or not.- Inherited From:
- Source - core/Group.js, line 174
-
onDestroy :Phaser.Signal
-
This signal is dispatched when the group is destroyed.
- Inherited From:
- Source - core/Group.js, line 249
-
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.
- Inherited From:
- Source - core/Group.js, line 119
-
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.P2JS, Phaser.Physics.NINJA, etc.
- Inherited From:
- Source - core/Group.js, line 225
-
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.- Inherited From:
- Source - core/Group.js, line 243
-
<readonly> physicsType :number
-
The const physics body type of this object.
- Inherited From:
- Source - core/Group.js, line 86
-
ppu :number
-
Pixels per Length Unit.
- Source - physics/p2/BodyDebug.js, line 44
-
right :number
-
The right coordinate of this Group.
It is derived by calling
getBounds
, calculating the Groups dimensions based on its visible children.Note that no ancestors are factored into the result, meaning that if this Group is nested within another Group, with heavy transforms on it, the result of this property is likely to be incorrect. It is safe to get and set this property if the Group is a top-level descendant of Phaser.World, or untransformed parents.
- Inherited From:
- Source - core/Group.js, line 2716
-
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.
- Inherited From:
- Source - core/Group.js, line 2929
-
top :number
-
The top coordinate of this Group.
It is derived by calling
getBounds
, calculating the Groups dimensions based on its visible children.Note that no ancestors are factored into the result, meaning that if this Group is nested within another Group, with heavy transforms on it, the result of this property is likely to be incorrect. It is safe to get and set this property if the Group is a top-level descendant of Phaser.World, or untransformed parents.
- Inherited From:
- Source - core/Group.js, line 2749
-
<readonly> total :integer
-
Total number of existing children in the group.
- Inherited From:
- Source - core/Group.js, line 2560
-
<internal> type :integer
-
Internal Phaser Type value.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 80
-
visible :boolean
-
The visible state of the group. Non-visible Groups and all of their children are not rendered.
- Inherited From:
- Source - core/Group.js, line 2938
-
width :Number
-
The width of the displayObjectContainer, setting this will actually modify the scale to achieve the value set
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 43
-
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.
- Inherited From:
- Source - core/Group.js, line 2911
-
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.
- Inherited From:
- Source - core/Group.js, line 2920
-
<readonly> 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.
- Inherited From:
- Source - core/Group.js, line 57
Methods
-
add(child, silent, index) → {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 above every previous child.
Or if the optional index is specified, the child is added at the location specified by the index value, this allows you to control child ordering.
If the child was already in this Group, it is simply returned, and nothing else happens to it.
If
Group.enableBody
is set, then a physics body will be created on the object, so long as one does not already exist.If
Group.inputEnableChildren
is set, then an Input Handler 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.index
integer <optional>
The index within the group to insert the child to. Where 0 is the bottom of the Group.
Returns:
The child that was added to the group.
- Inherited From:
- Source - core/Group.js, line 334
-
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.
- Inherited From:
- Source - core/Group.js, line 1376
-
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.
If
Group.enableBody
is set, then a physics body will be created on the object, so long as one does not already exist.If
Group.inputEnableChildren
is set, then an Input Handler will be created on the object, so long as one does not already exist.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.
- Inherited From:
- Source - core/Group.js, line 411
-
addChild(child) → {DisplayObject}
-
Adds a child to the container.
Parameters:
Name Type Description child
DisplayObject The DisplayObject to add to the container
Returns:
The child that was added.
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 102
-
addChildAt(child, index) → {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
DisplayObject The child to add
index
Number The index to place the child in
Returns:
The child that was added.
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 114
-
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.
If
Group.enableBody
is set, then a physics body will be created on the objects, so long as one does not already exist.If
Group.inputEnableChildren
is set, then an Input Handler will be created on the objects, so long as one does not already exist.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.
- Inherited From:
- Source - core/Group.js, line 482
-
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.
- Inherited From:
- Source - core/Group.js, line 432
-
align(rows, columns, cellWidth, cellHeight, position, offset)
-
This method iterates through all children in the Group (regardless if they are visible or exist) and then changes their position so they are arranged in a Grid formation. Children must have the
alignTo
method in order to be positioned by this call. All default Phaser Game Objects have this.The grid dimensions are determined by the first four arguments. The
rows
andcolumns
arguments relate to the width and height of the grid respectively.For example if the Group had 100 children in it:
Group.align(10, 10, 32, 32)
This will align all of the children into a grid formation of 10x10, using 32 pixels per grid cell. If you want a wider grid, you could do:
Group.align(25, 4, 32, 32)
This will align the children into a grid of 25x4, again using 32 pixels per grid cell.
You can choose to set either the
rows
orcolumns
value to -1. Doing so tells the method to keep on aligning children until there are no children left. For example if this Group had 48 children in it, the following:Group.align(-1, 8, 32, 32)
... will align the children so that there are 8 columns vertically (the second argument), and each row will contain 6 sprites, except the last one, which will contain 5 (totaling 48)
You can also do:
Group.align(10, -1, 32, 32)
In this case it will create a grid 10 wide, and as tall as it needs to be in order to fit all of the children in.
The
position
property allows you to control where in each grid cell the child is positioned. This is a constant and can be one ofPhaser.TOP_LEFT
(default),Phaser.TOP_CENTER
,Phaser.TOP_RIGHT
,Phaser.LEFT_CENTER
,Phaser.CENTER
,Phaser.RIGHT_CENTER
,Phaser.BOTTOM_LEFT
,Phaser.BOTTOM_CENTER
orPhaser.BOTTOM_RIGHT
.The final argument;
offset
lets you start the alignment from a specific child index.Parameters:
Name Type Argument Default Description rows
integer The number of rows, or width, of the grid. Set to -1 for a dynamic width.
columns
integer The number of columns, or height, of the grid. Set to -1 for a dynamic height.
cellWidth
integer The width of each grid cell, in pixels.
cellHeight
integer The height of each grid cell, in pixels.
position
integer <optional>
The position constant. One of
Phaser.TOP_LEFT
(default),Phaser.TOP_CENTER
,Phaser.TOP_RIGHT
,Phaser.LEFT_CENTER
,Phaser.CENTER
,Phaser.RIGHT_CENTER
,Phaser.BOTTOM_LEFT
,Phaser.BOTTOM_CENTER
orPhaser.BOTTOM_RIGHT
.offset
integer <optional>
0 Optional index to start the alignment from. Defaults to zero, the first child in the Group, but can be set to any valid child index value.
- Inherited From:
- Source - core/Group.js, line 675
-
alignIn(container, position, offsetX, offsetY) → {Phaser.Group}
-
Aligns this Group within another Game Object, or Rectangle, known as the 'container', to one of 9 possible positions.
The container must be a Game Object, or Phaser.Rectangle object. This can include properties such as
World.bounds
orCamera.view
, for aligning Groups within the world and camera bounds. Or it can include other Sprites, Images, Text objects, BitmapText, TileSprites or Buttons.Please note that aligning a Group to another Game Object does not make it a child of the container. It simply modifies its position coordinates so it aligns with it.
The position constants you can use are:
Phaser.TOP_LEFT
,Phaser.TOP_CENTER
,Phaser.TOP_RIGHT
,Phaser.LEFT_CENTER
,Phaser.CENTER
,Phaser.RIGHT_CENTER
,Phaser.BOTTOM_LEFT
,Phaser.BOTTOM_CENTER
andPhaser.BOTTOM_RIGHT
.Groups are placed in such a way that their bounds align with the container, taking into consideration rotation and scale of its children. This allows you to neatly align Groups, irrespective of their position value.
The optional
offsetX
andoffsetY
arguments allow you to apply extra spacing to the final aligned position of the Group. For example:group.alignIn(background, Phaser.BOTTOM_RIGHT, -20, -20)
Would align the
group
to the bottom-right, but moved 20 pixels in from the corner. Think of the offsets as applying an adjustment to the containers bounds before the alignment takes place. So providing a negative offset will 'shrink' the container bounds by that amount, and providing a positive one expands it.Parameters:
Name Type Argument Default Description container
Phaser.Rectangle | Phaser.Sprite | Phaser.Image | Phaser.Text | Phaser.BitmapText | Phaser.Button | Phaser.Graphics | Phaser.TileSprite The Game Object or Rectangle with which to align this Group to. Can also include properties such as
World.bounds
orCamera.view
.position
integer <optional>
The position constant. One of
Phaser.TOP_LEFT
(default),Phaser.TOP_CENTER
,Phaser.TOP_RIGHT
,Phaser.LEFT_CENTER
,Phaser.CENTER
,Phaser.RIGHT_CENTER
,Phaser.BOTTOM_LEFT
,Phaser.BOTTOM_CENTER
orPhaser.BOTTOM_RIGHT
.offsetX
integer <optional>
0 A horizontal adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.
offsetY
integer <optional>
0 A vertical adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.
Returns:
This Group.
- Inherited From:
- Source - core/Group.js, line 2815
-
alignTo(parent, position, offsetX, offsetY) → {Phaser.Group}
-
Aligns this Group to the side of another Game Object, or Rectangle, known as the 'parent', in one of 11 possible positions.
The parent must be a Game Object, or Phaser.Rectangle object. This can include properties such as
World.bounds
orCamera.view
, for aligning Groups within the world and camera bounds. Or it can include other Sprites, Images, Text objects, BitmapText, TileSprites or Buttons.Please note that aligning a Group to another Game Object does not make it a child of the parent. It simply modifies its position coordinates so it aligns with it.
The position constants you can use are:
Phaser.TOP_LEFT
(default),Phaser.TOP_CENTER
,Phaser.TOP_RIGHT
,Phaser.LEFT_TOP
,Phaser.LEFT_CENTER
,Phaser.LEFT_BOTTOM
,Phaser.RIGHT_TOP
,Phaser.RIGHT_CENTER
,Phaser.RIGHT_BOTTOM
,Phaser.BOTTOM_LEFT
,Phaser.BOTTOM_CENTER
andPhaser.BOTTOM_RIGHT
.Groups are placed in such a way that their bounds align with the parent, taking into consideration rotation and scale of the children. This allows you to neatly align Groups, irrespective of their position value.
The optional
offsetX
andoffsetY
arguments allow you to apply extra spacing to the final aligned position of the Group. For example:group.alignTo(background, Phaser.BOTTOM_RIGHT, -20, -20)
Would align the
group
to the bottom-right, but moved 20 pixels in from the corner. Think of the offsets as applying an adjustment to the parents bounds before the alignment takes place. So providing a negative offset will 'shrink' the parent bounds by that amount, and providing a positive one expands it.Parameters:
Name Type Argument Default Description parent
Phaser.Rectangle | Phaser.Sprite | Phaser.Image | Phaser.Text | Phaser.BitmapText | Phaser.Button | Phaser.Graphics | Phaser.TileSprite The Game Object or Rectangle with which to align this Group to. Can also include properties such as
World.bounds
orCamera.view
.position
integer <optional>
The position constant. One of
Phaser.TOP_LEFT
,Phaser.TOP_CENTER
,Phaser.TOP_RIGHT
,Phaser.LEFT_TOP
,Phaser.LEFT_CENTER
,Phaser.LEFT_BOTTOM
,Phaser.RIGHT_TOP
,Phaser.RIGHT_CENTER
,Phaser.RIGHT_BOTTOM
,Phaser.BOTTOM_LEFT
,Phaser.BOTTOM_CENTER
orPhaser.BOTTOM_RIGHT
.offsetX
integer <optional>
0 A horizontal adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.
offsetY
integer <optional>
0 A vertical adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.
Returns:
This Group.
- Inherited From:
- Source - core/Group.js, line 2857
-
<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.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 1912
-
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.
- Inherited From:
- Source - core/Group.js, line 897
-
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.
- Inherited From:
- Source - core/Group.js, line 1531
-
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.
- Inherited From:
- Source - core/Group.js, line 1444
-
<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).
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 1478
-
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.- Inherited From:
- Source - core/Group.js, line 1343
-
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.
- Inherited From:
- Source - core/Group.js, line 1207
-
countDead() → {integer}
-
Get the number of dead children in this group.
Returns:
integer -The number of children flagged as dead.
- Inherited From:
- Source - core/Group.js, line 2309
-
countLiving() → {integer}
-
Get the number of living children in this group.
Returns:
integer -The number of children flagged as alive.
- Inherited From:
- Source - core/Group.js, line 2297
-
create(x, y, key, frame, exists, index) → {DisplayObject}
-
Creates a new Phaser.Sprite object and adds it to the top of this group.
Use classType to change the type of object created.
The child is automatically added to the top of the group, and is displayed above every previous child.
Or if the optional index is specified, the child is added at the location specified by the index value, this allows you to control child ordering.
If
Group.enableBody
is set, then a physics body will be created on the object, so long as one does not already exist.If
Group.inputEnableChildren
is set, then an Input Handler will be created on the object, so long as one does not already exist.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 | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture <optional>
This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture.
frame
string | number <optional>
If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
exists
boolean <optional>
true The default exists state of the Sprite.
index
integer <optional>
The index within the group to insert the child to. Where 0 is the bottom of the Group.
Returns:
The child that was created: will be a Phaser.Sprite unless #classType has been changed.
- Inherited From:
- Source - core/Group.js, line 537
-
createMultiple(quantity, key, frame, exists) → {array}
-
Creates multiple Phaser.Sprite objects and adds them to the top of this Group.
This method is useful if you need to quickly generate a pool of sprites, such as bullets.
Use classType to change the type of object created.
You can provide an array as the
key
and / orframe
arguments. When you do this it will createquantity
Sprites for every key (and frame) in the arrays.For example:
createMultiple(25, ['ball', 'carrot'])
In the above code there are 2 keys (ball and carrot) which means that 50 sprites will be created in total, 25 of each. You can also have the
frame
as an array:createMultiple(5, 'bricks', [0, 1, 2, 3])
In the above there is one key (bricks), which is a sprite sheet. The frames array tells this method to use frames 0, 1, 2 and 3. So in total it will create 20 sprites, because the quantity was set to 5, so that is 5 brick sprites of frame 0, 5 brick sprites with frame 1, and so on.
If you set both the key and frame arguments to be arrays then understand it will create a total quantity of sprites equal to the size of both arrays times each other. I.e.:
createMultiple(20, ['diamonds', 'balls'], [0, 1, 2])
The above will create 20 'diamonds' of frame 0, 20 with frame 1 and 20 with frame 2. It will then create 20 'balls' of frame 0, 20 with frame 1 and 20 with frame 2. In total it will have created 120 sprites.
By default the Sprites will have their
exists
property set tofalse
, and they will be positioned at 0x0, relative to theGroup.x / y
values.If
Group.enableBody
is set, then a physics body will be created on the objects, so long as one does not already exist.If
Group.inputEnableChildren
is set, then an Input Handler will be created on the objects, so long as one does not already exist.Parameters:
Name Type Argument Default Description quantity
integer The number of Sprites to create.
key
string | array The Cache key of the image that the Sprites will use. Or an Array of keys. See the description for details on how the quantity applies when arrays are used.
frame
integer | string | array <optional>
0 If the Sprite image contains multiple frames you can specify which one to use here. Or an Array of frames. See the description for details on how the quantity applies when arrays are used.
exists
boolean <optional>
false The default exists state of the Sprite.
Returns:
array -An array containing all of the Sprites that were created.
- Inherited From:
- Source - core/Group.js, line 574
-
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 Description sortHandler
function The custom sort function.
context
object <optional>
The context in which the sortHandler is called.
- Inherited From:
- Source - core/Group.js, line 1888
-
<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.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 1944
-
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.
- Inherited From:
- Source - core/Group.js, line 2523
-
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.
- Inherited From:
- Source - core/Group.js, line 1427
-
draw()
-
Draws the P2 shapes to the Graphics object.
- Source - physics/p2/BodyDebug.js, line 85
-
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
- Inherited From:
- Source - core/Group.js, line 1670
-
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.
- Inherited From:
- Source - core/Group.js, line 1710
-
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.
- Inherited From:
- Source - core/Group.js, line 1792
-
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.
- Inherited From:
- Source - core/Group.js, line 1820
-
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.
- Inherited From:
- Source - core/Group.js, line 1764
-
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.
- Inherited From:
- Source - core/Group.js, line 517
-
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.
- Inherited From:
- Source - core/Group.js, line 2192
-
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 - pixi/display/DisplayObjectContainer.js, line 318
-
getByName(name) → {any}
-
Searches the Group for the first instance of a child with the
name
property matching the given argument. Should more than one child have the same name only the first instance is returned.Parameters:
Name Type Description name
string The name to search for.
Returns:
any -The first child with a matching name, or null if none were found.
- Inherited From:
- Source - core/Group.js, line 1032
-
getChildAt(index) → {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 - pixi/display/DisplayObjectContainer.js, line 205
-
getChildIndex(child) → {Number}
-
Returns the index position of a child DisplayObject instance
Parameters:
Name Type Description child
DisplayObject The DisplayObject instance to identify
Returns:
Number -The index position of the child display object to identify
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 170
-
getClosestTo(object, callback, callbackContext) → {any}
-
Get the closest child to given Object, with optional callback to filter children.
This can be a Sprite, Group, Image or any object with public x and y properties.
'close' is determined by the distance from the objects
x
andy
properties compared to the childsx
andy
properties.You can use the optional
callback
argument to apply your own filter to the distance checks. If the child is closer then the previous child, it will be sent tocallback
as the first argument, with the distance as the second. The callback should returntrue
if it passes your filtering criteria, otherwise it should returnfalse
.Parameters:
Name Type Argument Description object
any The object used to determine the distance. This can be a Sprite, Group, Image or any object with public x and y properties.
callback
function <optional>
The function that each child will be evaluated against. Each child of the group will be passed to it as its first parameter, with the distance as the second. It should return
true
if the child passes the matching criteria.callbackContext
object <optional>
The context in which the function should be called (usually 'this').
Returns:
any -The child closest to given object, or
null
if no child was found.- Inherited From:
- Source - core/Group.js, line 2209
-
getFirstAlive(createIfNull, x, y, key, frame) → {DisplayObject}
-
Get the first child that is alive (
child.alive === true
).This is handy for choosing a squad leader, etc.
You can use the optional argument
createIfNull
to create a new Game Object if no alive ones were found in this Group.It works by calling
Group.create
passing it the parameters given to this method, and returning the new child.If a child was found ,
createIfNull
isfalse
and you provided the additional arguments then the child will be reset and/or have a new texture loaded on it. This is handled byGroup.resetChild
.Parameters:
Name Type Argument Default Description createIfNull
boolean <optional>
false If
true
and no alive children are found a new one is created.x
number <optional>
The x coordinate to reset the child to. The value is in relation to the group.x point.
y
number <optional>
The y coordinate to reset the child to. The value is in relation to the group.y point.
key
string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture <optional>
This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture.
frame
string | number <optional>
If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
Returns:
The alive dead child, or
null
if none found andcreateIfNull
was false.- Inherited From:
- Source - core/Group.js, line 2076
-
getFirstDead(createIfNull, x, y, key, frame) → {DisplayObject}
-
Get the first child that is dead (
child.alive === false
).This is handy for checking if everything has been wiped out and adding to the pool as needed.
You can use the optional argument
createIfNull
to create a new Game Object if no dead ones were found in this Group.It works by calling
Group.create
passing it the parameters given to this method, and returning the new child.If a child was found ,
createIfNull
isfalse
and you provided the additional arguments then the child will be reset and/or have a new texture loaded on it. This is handled byGroup.resetChild
.Parameters:
Name Type Argument Default Description createIfNull
boolean <optional>
false If
true
and no dead children are found a new one is created.x
number <optional>
The x coordinate to reset the child to. The value is in relation to the group.x point.
y
number <optional>
The y coordinate to reset the child to. The value is in relation to the group.y point.
key
string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture <optional>
This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture.
frame
string | number <optional>
If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
Returns:
The first dead child, or
null
if none found andcreateIfNull
was false.- Inherited From:
- Source - core/Group.js, line 2106
-
getFirstExists(exists, createIfNull, x, y, key, frame) → {DisplayObject}
-
Get the first display object that exists, or doesn't exist.
You can use the optional argument
createIfNull
to create a new Game Object if none matching your exists argument were found in this Group.It works by calling
Group.create
passing it the parameters given to this method, and returning the new child.If a child was found ,
createIfNull
isfalse
and you provided the additional arguments then the child will be reset and/or have a new texture loaded on it. This is handled byGroup.resetChild
.Parameters:
Name Type Argument Default Description exists
boolean <optional>
true If true, find the first existing child; otherwise find the first non-existing child.
createIfNull
boolean <optional>
false If
true
and no alive children are found a new one is created.x
number <optional>
The x coordinate to reset the child to. The value is in relation to the group.x point.
y
number <optional>
The y coordinate to reset the child to. The value is in relation to the group.y point.
key
string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture <optional>
This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture.
frame
string | number <optional>
If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
Returns:
The first child, or
null
if none found andcreateIfNull
was false.- Inherited From:
- Source - core/Group.js, line 2042
-
getFurthestFrom(object, callback, callbackContext) → {any}
-
Get the child furthest away from the given Object, with optional callback to filter children.
This can be a Sprite, Group, Image or any object with public x and y properties.
'furthest away' is determined by the distance from the objects
x
andy
properties compared to the childsx
andy
properties.You can use the optional
callback
argument to apply your own filter to the distance checks. If the child is closer then the previous child, it will be sent tocallback
as the first argument, with the distance as the second. The callback should returntrue
if it passes your filtering criteria, otherwise it should returnfalse
.Parameters:
Name Type Argument Description object
any The object used to determine the distance. This can be a Sprite, Group, Image or any object with public x and y properties.
callback
function <optional>
The function that each child will be evaluated against. Each child of the group will be passed to it as its first parameter, with the distance as the second. It should return
true
if the child passes the matching criteria.callbackContext
object <optional>
The context in which the function should be called (usually 'this').
Returns:
any -The child furthest from the given object, or
null
if no child was found.- Inherited From:
- Source - core/Group.js, line 2253
-
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.
- Inherited From:
- Source - core/Group.js, line 1019
-
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 - pixi/display/DisplayObjectContainer.js, line 383
-
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.
- Inherited From:
- Source - core/Group.js, line 2321
-
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.
- Inherited From:
- Source - core/Group.js, line 2175
-
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 existence 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.
- Inherited From:
- Source - core/Group.js, line 1094
-
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.
- Inherited From:
- Source - core/Group.js, line 1969
-
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.
- Inherited From:
- Source - core/Group.js, line 2391
-
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.
- Inherited From:
- Source - core/Group.js, line 959
-
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.
- Inherited From:
- Source - core/Group.js, line 935
-
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.
- Inherited From:
- Source - core/Group.js, line 1410
-
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.
- Inherited From:
- Source - core/Group.js, line 823
-
<internal> postUpdate()
-
The core postUpdate - as called by World.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 1649
-
<internal> preUpdate()
-
The core preUpdate - as called by World.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 1604
-
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.
- Inherited From:
- Source - core/Group.js, line 852
-
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.
- Inherited From:
- Source - core/Group.js, line 2343
-
removeAll(destroy, silent, destroyTexture)
-
Removes all children from this Group, but does not remove the group from its parent.
The children can be optionally destroyed as they are removed.
You can also optionally also destroy the BaseTexture the Child is using. Be careful if you've more than one Game Object sharing the same BaseTexture.
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.destroyTexture
boolean <optional>
false If true, and if the
destroy
argument is also true, the BaseTexture belonging to the Child is also destroyed. Note that if another Game Object is sharing the same BaseTexture it will invalidate it.- Inherited From:
- Source - core/Group.js, line 2420
-
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.- Inherited From:
- Source - core/Group.js, line 2468
-
removeChild(child) → {DisplayObject}
-
Removes a child from the container.
Parameters:
Name Type Description child
DisplayObject The DisplayObject to remove
Returns:
The child that was removed.
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 222
-
removeChildAt(index) → {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 - pixi/display/DisplayObjectContainer.js, line 237
-
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 - pixi/display/DisplayObjectContainer.js, line 255
-
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.
- Inherited From:
- Source - core/Group.js, line 457
-
removeStageReference()
-
Removes the current stage reference from the container and all of its children.
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 428
-
replace(oldChild, newChild) → {any}
-
Replaces a child of this Group with the given newChild. The newChild cannot be a member of this Group.
If
Group.enableBody
is set, then a physics body will be created on the object, so long as one does not already exist.If
Group.inputEnableChildren
is set, then an Input Handler will be created on the object, so long as one does not already exist.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.
- Inherited From:
- Source - core/Group.js, line 1055
-
resetChild(child, x, y, key, frame) → {DisplayObject}
-
Takes a child and if the
x
andy
arguments are given it callschild.reset(x, y)
on it.If the
key
and optionally theframe
arguments are given, it callschild.loadTexture(key, frame)
on it.The two operations are separate. For example if you just wish to load a new texture then pass
null
as the x and y values.Parameters:
Name Type Argument Description child
DisplayObject The child to reset and/or load the texture on.
x
number <optional>
The x coordinate to reset the child to. The value is in relation to the group.x point.
y
number <optional>
The y coordinate to reset the child to. The value is in relation to the group.y point.
key
string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture <optional>
This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture.
frame
string | number <optional>
If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
Returns:
The child that was reset: usually a Phaser.Sprite.
- Inherited From:
- Source - core/Group.js, line 2136
-
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.
- Inherited From:
- Source - core/Group.js, line 796
-
reverse()
-
Reverses all children in this group.
This operation applies only to immediate children and does not propagate to subgroups.
- Inherited From:
- Source - core/Group.js, line 1005
-
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.
- Inherited From:
- Source - core/Group.js, line 916
-
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.
- Inherited From:
- Source - core/Group.js, line 1236
-
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.- Inherited From:
- Source - core/Group.js, line 1267
-
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.- Inherited From:
- Source - core/Group.js, line 1302
-
setChildIndex(child, index)
-
Changes the position of an existing child in the display object container
Parameters:
Name Type Description child
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 - pixi/display/DisplayObjectContainer.js, line 187
-
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.
- Inherited From:
- Source - core/Group.js, line 1129
- 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
Stage the stage that the container will have as its current stage reference
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 412
-
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()
.Internally this uses a standard JavaScript Array sort, so everything that applies there also applies here, including alphabetical sorting, mixing strings and numbers, and Unicode sorting. See MDN for more details.
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).
- Inherited From:
- Source - core/Group.js, line 1848
-
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.
- Inherited From:
- Source - core/Group.js, line 1393
-
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.
- Inherited From:
- Source - core/Group.js, line 881
-
swapChildren(child, child2)
-
Swaps the position of 2 Display Objects within this container.
Parameters:
Name Type Description child
DisplayObject -
child2
DisplayObject -
- Inherited From:
- Source - pixi/display/DisplayObjectContainer.js, line 145
-
<internal> update()
-
The core update - as called by World.
- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 1632
-
updateSpriteTransform()
-
Core update.
- Source - physics/p2/BodyDebug.js, line 72
-
<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.- Inherited From:
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - core/Group.js, line 656
-
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.
- Inherited From:
- Source - core/Group.js, line 983