Phaser Class: World

## Phaser. World

#### new World(game)

  "This world is but a canvas to our imagination." - Henry David Thoreau

  A game has only one world. The world is an abstract place in which all game objects live. It is not bound
  by stage limits and can be any size. You look into the world via cameras. All game objects live within
  the world at world-based coordinates. By default a world is created the same size as your Stage.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | Reference to the current game instance.

  Source - core/World.js, line 19

### Extends

- Phaser.Group

### Members

#### <readonly> _definedSize :boolean

  True if the World has been given a specifically defined size (i.e. from a Tilemap or direct in code) or false if it's just matched to the Game dimensions.

  Source - core/World.js, line 41

#### _height

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `height` | number | The defined height of the World. Sometimes the bounds needs to grow larger than this (if you resize the game) but this retains the original requested dimension.

  Source - core/World.js, line 51

#### _width

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `width` | number | The defined width of the World. Sometimes the bounds needs to grow larger than this (if you resize the game) but this retains the original requested dimension.

  Source - core/World.js, line 46

#### 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:
    - Phaser.Group#alive
  Default Value:
    - true
  Source - core/Group.js, line 93

#### alpha :number

  The alpha value of the group container.

  Inherited From:
    - Phaser.Group#alpha
  Source - core/Group.js, line 3003

#### 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:
    - Phaser.Group#angle
  Source - core/Group.js, line 2682

#### bottom :number

  The bottom coordinate of this Group.

  It is derived by calling `getBounds`, calculating the Groups dimensions based on its
  visible children.

  Inherited From:
    - Phaser.Group#bottom
  Source - core/Group.js, line 2845

#### bounds :Phaser.Rectangle

  The World has no fixed size, but it does have a bounds outside of which objects are no longer considered as being "in world" and you should use this to clean-up the display list and purge dead objects.
  By default we set the Bounds to be from 0,0 to Game.width,Game.height. I.e. it will match the size given to the game constructor with 0,0 representing the top-left of the display.
  However 0,0 is actually the center of the world, and if you rotate or scale the world all of that will happen from 0,0.
  So if you want to make a game in which the world itself will rotate you should adjust the bounds so that 0,0 is the center point, i.e. set them to -1000,-1000,2000,2000 for a 2000x2000 sized world centered around 0,0. Bound of this world that objects can not escape from.

  Source - core/World.js, line 30

#### camera :Phaser.Camera

  Camera instance.

  Source - core/World.js, line 35

#### 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:
    - Phaser.Group#cameraOffset
  Source - core/Group.js, line 272

#### <readonly> centerX :number

  Gets the X position corresponding to the center point of the world.

  Source - core/World.js, line 293

#### <readonly> centerY :number

  Gets the Y position corresponding to the center point of the world.

  Source - core/World.js, line 306

#### <readonly> children :Array.<DisplayObject>

  [read-only] The array of children of this container.

  ##### Type:

  - Array.<DisplayObject>
  Inherited From:
    - PIXI.DisplayObjectContainer#children
  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:
    - Phaser.Group#classType
  Default Value:
    - Phaser.Sprite
  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:
    - Phaser.Group#cursor
  Source - core/Group.js, line 138

#### <readonly> cursorIndex :integer

  The current index of the Group cursor. Advance it with Group.next.

  Inherited From:
    - Phaser.Group#cursorIndex
  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:
    - Phaser.Group#enableBody
  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:
    - Phaser.Group#enableBodyDebug
  Source - core/Group.js, line 217

#### exists :boolean

  If exists is true the group is updated, otherwise it is skipped.

  Inherited From:
    - Phaser.Group#exists
  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:
    - Phaser.Group#fixedToCamera
  Source - core/Group.js, line 265

#### <internal> game :Phaser.Game

  A reference to the currently running Game.

  Inherited From:
    - Phaser.Group#game
  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:
    - Phaser.Group#hash
  Source - core/Group.js, line 285

#### height :number

  Gets or sets the current height of the game world. The world can never be smaller than the game (canvas) dimensions.

  Source - core/World.js, line 268

#### ignoreChildInput :Boolean

  If `ignoreChildInput` is `false` 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:
    - PIXI.DisplayObjectContainer#ignoreChildInput
  Source - pixi/display/DisplayObjectContainer.js, line 26

#### ignoreDestroy :boolean

  A group with `ignoreDestroy` set to `true` ignores all calls to its `destroy` method.

  Inherited From:
    - Phaser.Group#ignoreDestroy
  Source - core/Group.js, line 107

#### inputEnableChildren :boolean

  A Group with `inputEnableChildren` set to `true` will automatically call `inputEnabled = 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:
    - Phaser.Group#inputEnableChildren
  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.

  Inherited From:
    - Phaser.Group#left
  Source - core/Group.js, line 2761

#### <readonly> length :integer

  Total number of children in this group, regardless of exists/alive status.

  Inherited From:
    - Phaser.Group#length
  Source - core/Group.js, line 2665

#### name :string

  A name for this group. Not used internally but useful for debugging.

  Inherited From:
    - Phaser.Group#name
  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:
    - Phaser.Group#onChildInputDown
  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:
    - Phaser.Group#onChildInputOut
  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:
    - Phaser.Group#onChildInputOver
  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:
    - Phaser.Group#onChildInputUp
  Source - core/Group.js, line 174

#### onDestroy :Phaser.Signal

  This signal is dispatched when the group is destroyed.

  Inherited From:
    - Phaser.Group#onDestroy
  Source - core/Group.js, line 249

#### pendingDestroy :boolean

  A Group is that has `pendingDestroy` set to `true` 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:
    - Phaser.Group#pendingDestroy
  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:
    - Phaser.Group#physicsBodyType
  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:
    - Phaser.Group#physicsSortDirection
  Source - core/Group.js, line 243

#### <readonly> physicsType :number

  The const physics body type of this object.

  Inherited From:
    - Phaser.Group#physicsType
  Source - core/Group.js, line 86

#### <readonly> randomX :number

  Gets a random integer which is lesser than or equal to the current width of the game world.

  Source - core/World.js, line 319

#### <readonly> randomY :number

  Gets a random integer which is lesser than or equal to the current height of the game world.

  Source - core/World.js, line 341

#### right :number

  The right coordinate of this Group.

  It is derived by calling `getBounds`, calculating the Groups dimensions based on its
  visible children.

  Inherited From:
    - Phaser.Group#right
  Source - core/Group.js, line 2789

#### 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:
    - Phaser.Group#rotation
  Source - core/Group.js, line 2987

#### top :number

  The top coordinate of this Group.

  It is derived by calling `getBounds`, calculating the Groups dimensions based on its
  visible children.

  Inherited From:
    - Phaser.Group#top
  Source - core/Group.js, line 2817

#### <readonly> total :integer

  Total number of existing children in the group.

  Inherited From:
    - Phaser.Group#total
  Source - core/Group.js, line 2648

#### <internal> type :integer

  Internal Phaser Type value.

  Inherited From:
    - Phaser.Group#type
  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:
    - Phaser.Group#visible
  Source - core/Group.js, line 2996

#### width :number

  Gets or sets the current width of the game world. The world can never be smaller than the game (canvas) dimensions.

  Source - core/World.js, line 243

#### 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:
    - Phaser.Group#x
  Source - core/Group.js, line 2969

#### 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:
    - Phaser.Group#y
  Source - core/Group.js, line 2978

#### <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:
    - Phaser.Group#z
  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:

  DisplayObject -

  The child that was added to the group.

  Inherited From:
    - Phaser.Group#add
  Source - core/Group.js, line 341

#### 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:
    - Phaser.Group#addAll
  Source - core/Group.js, line 1386

#### 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:

  DisplayObject -

  The child that was added to the group.

  Inherited From:
    - Phaser.Group#addAt
  Source - core/Group.js, line 418

#### addChild(child) → {DisplayObject}

  Adds a child to the container.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `child` | DisplayObject | The DisplayObject to add to the container

  ##### Returns:

  DisplayObject -

  The child that was added.

  Inherited From:
    - PIXI.DisplayObjectContainer#addChild
  Source - pixi/display/DisplayObjectContainer.js, line 42

#### 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:

  DisplayObject -

  The child that was added.

  Inherited From:
    - PIXI.DisplayObjectContainer#addChildAt
  Source - pixi/display/DisplayObjectContainer.js, line 55

#### 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:
    - Phaser.Group#addMultiple
  Source - core/Group.js, line 489

#### 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:
    - Phaser.Group#addToHash
  Source - core/Group.js, line 439

#### align(width, height, cellWidth, cellHeight, position, offset) → {boolean}

  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 `width` and `height` 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 `width` or `height` 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 children 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 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` or `Phaser.BOTTOM_RIGHT`.

  The final argument; `offset` lets you start the alignment from a specific child index.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `width` | integer |  |  | The width of the grid in items (not pixels). Set to -1 for a dynamic width. If -1 then you must set an explicit height value.
  `height` | integer |  |  | The height of the grid in items (not pixels). Set to -1 for a dynamic height. If -1 then you must set an explicit width value.
  `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` or `Phaser.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.

  ##### Returns:

  boolean -

  True if the Group children were aligned, otherwise false.

  Inherited From:
    - Phaser.Group#align
  Source - core/Group.js, line 682

#### 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` or `Camera.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` and `Phaser.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` and `offsetY` 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` or `Camera.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` or `Phaser.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:

  Phaser.Group -

  This Group.

  Inherited From:
    - Phaser.Group#alignIn
  Source - core/Group.js, line 2873

#### 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` or `Camera.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`
  and `Phaser.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` and `offsetY` 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` or `Camera.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` or `Phaser.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:

  Phaser.Group -

  This Group.

  Inherited From:
    - Phaser.Group#alignTo
  Source - core/Group.js, line 2915

#### <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:
    - Phaser.Group#ascendingSortHandler
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 1919

#### <internal> boot()

  Initialises the game world.

  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/World.js, line 60

#### 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:
    - Phaser.Group#bringToTop
  Source - core/Group.js, line 907

#### 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:
    - Phaser.Group#callAll
  Source - core/Group.js, line 1538

#### 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:
    - Phaser.Group#callAllExists
  Source - core/Group.js, line 1454

#### <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:
    - Phaser.Group#callbackFromArray
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 1488

#### 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:
    - Phaser.Group#checkAll
  Source - core/Group.js, line 1353

#### 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:
    - Phaser.Group#checkProperty
  Source - core/Group.js, line 1217

#### contains(child) → {Boolean}

  Determines whether the specified display object is a child of the DisplayObjectContainer instance or the instance itself.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `child` | DisplayObject | -

  ##### Returns:

  Boolean -
  Inherited From:
    - PIXI.DisplayObjectContainer#contains
  Source - pixi/display/DisplayObjectContainer.js, line 449

#### countDead() → {integer}

  Get the number of dead children in this group.

  ##### Returns:

  integer -

  The number of children flagged as dead.

  Inherited From:
    - Phaser.Group#countDead
  Source - core/Group.js, line 2338

#### countLiving() → {integer}

  Get the number of living children in this group.

  ##### Returns:

  integer -

  The number of children flagged as alive.

  Inherited From:
    - Phaser.Group#countLiving
  Source - core/Group.js, line 2326

#### 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:

  DisplayObject -

  The child that was created: will be a Phaser.Sprite unless #classType has been changed.

  Inherited From:
    - Phaser.Group#create
  Source - core/Group.js, line 544

#### 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 / or `frame` arguments. When you do this
  it will create `quantity` 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 to `false`, and they will be
  positioned at 0x0, relative to the `Group.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:
    - Phaser.Group#createMultiple
  Source - core/Group.js, line 581

#### 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 if `a > b`, 1 if `a < b` or 0 if `a === 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:
    - Phaser.Group#customSort
  Source - core/Group.js, line 1895

#### <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:
    - Phaser.Group#descendingSortHandler
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 1951

#### 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:
    - Phaser.Group#destroy
  Source - core/Group.js, line 2611

#### 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:
    - Phaser.Group#divideAll
  Source - core/Group.js, line 1437

#### 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:

  Phaser.ArraySet -

  Returns an array list containing all the children that the predicate returned true for

  Inherited From:
    - Phaser.Group#filter
  Source - core/Group.js, line 1677

#### 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:
    - Phaser.Group#forEach
  Source - core/Group.js, line 1717

#### 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:
    - Phaser.Group#forEachAlive
  Source - core/Group.js, line 1799

#### 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:
    - Phaser.Group#forEachDead
  Source - core/Group.js, line 1827

#### 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:
    - Phaser.Group#forEachExists
  Source - core/Group.js, line 1771

#### getAll(property, value, startIndex, endIndex) → {any}

  Returns all children in this Group.

  You can optionally specify a matching criteria using the `property` and `value` arguments.

  For example: `getAll('exists', true)` would return only children that have their exists property set.

  Optionally you can specify a start and end index. For example if this Group had 100 children,
  and you set `startIndex` to 0 and `endIndex` to 50, it would return a random child from only
  the first 50 children in the Group.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `property` | string | <optional> |  | An optional property to test against the value argument.
  `value` | any | <optional> |  | If property is set then Child.property must strictly equal this value to be included in the results.
  `startIndex` | integer | <optional> | 0 | The first child index to start the search from.
  `endIndex` | integer | <optional> |  | The last child index to search up until.

  ##### Returns:

  any -

  A random existing child of this Group.

  Inherited From:
    - Phaser.Group#getAll
  Source - core/Group.js, line 2392

#### 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:
    - Phaser.Group#getAt
  Source - core/Group.js, line 524

#### 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:
    - Phaser.Group#getBottom
  Source - core/Group.js, line 2221

#### getBounds(targetCoordinateSpace) → {Rectangle}

  Retrieves the global bounds of the displayObjectContainer as a rectangle. The bounds calculation takes all visible children into consideration.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `targetCoordinateSpace` | PIXIDisplayObject | PIXIMatrix | <optional> | Returns a rectangle that defines the area of the display object relative to the coordinate system of the targetCoordinateSpace object.

  ##### Returns:

  Rectangle -

  The rectangular bounding area

  Inherited From:
    - PIXI.DisplayObjectContainer#getBounds
  Source - pixi/display/DisplayObjectContainer.js, line 280

#### 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:
    - Phaser.Group#getByName
  Source - core/Group.js, line 1042

#### getChildAt(index) → {DisplayObject}

  Returns the child at the specified index

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `index` | Number | The index to get the child from

  ##### Returns:

  DisplayObject -

  The child at the given index, if any.

  Inherited From:
    - PIXI.DisplayObjectContainer#getChildAt
  Source - pixi/display/DisplayObjectContainer.js, line 153

#### 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:
    - PIXI.DisplayObjectContainer#getChildIndex
  Source - pixi/display/DisplayObjectContainer.js, line 112

#### 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` and `y` properties compared to the childs `x` and `y` 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 to `callback` as the first argument,
  with the distance as the second. The callback should return `true` if it passes your
  filtering criteria, otherwise it should return `false`.

  ##### 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:
    - Phaser.Group#getClosestTo
  Source - core/Group.js, line 2238

#### 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` is `false` and you provided the additional arguments then the child
  will be reset and/or have a new texture loaded on it. This is handled by `Group.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:

  DisplayObject -

  The alive dead child, or `null` if none found and `createIfNull` was false.

  Inherited From:
    - Phaser.Group#getFirstAlive
  Source - core/Group.js, line 2105

#### 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` is `false` and you provided the additional arguments then the child
  will be reset and/or have a new texture loaded on it. This is handled by `Group.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:

  DisplayObject -

  The first dead child, or `null` if none found and `createIfNull` was false.

  Inherited From:
    - Phaser.Group#getFirstDead
  Source - core/Group.js, line 2135

#### 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` is `false` and you provided the additional arguments then the child
  will be reset and/or have a new texture loaded on it. This is handled by `Group.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:

  DisplayObject -

  The first child, or `null` if none found and `createIfNull` was false.

  Inherited From:
    - Phaser.Group#getFirstExists
  Source - core/Group.js, line 2071

#### 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` and `y` properties compared to the childs `x` and `y` 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 to `callback` as the first argument,
  with the distance as the second. The callback should return `true` if it passes your
  filtering criteria, otherwise it should return `false`.

  ##### 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:
    - Phaser.Group#getFurthestFrom
  Source - core/Group.js, line 2282

#### 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:
    - Phaser.Group#getIndex
  Source - core/Group.js, line 1029

#### getLocalBounds() → {Rectangle}

  Retrieves the non-global local bounds of the displayObjectContainer as a rectangle without any transformations. The calculation takes all visible children into consideration.

  ##### Returns:

  Rectangle -

  The rectangular bounding area

  Inherited From:
    - PIXI.DisplayObjectContainer#getLocalBounds
  Source - pixi/display/DisplayObjectContainer.js, line 437

#### 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 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:
    - Phaser.Group#getRandom
  Source - core/Group.js, line 2350

#### getRandomExists(startIndex, endIndex) → {any}

  Returns a random child from the Group that has `exists` set to `true`.

  Optionally you can specify a start and end index. For example if this Group had 100 children,
  and you set `startIndex` to 0 and `endIndex` to 50, it would return a random child from only
  the first 50 children in the Group.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `startIndex` | integer | <optional> | 0 | The first child index to start the search from.
  `endIndex` | integer | <optional> |  | The last child index to search up to.

  ##### Returns:

  any -

  A random child of this Group that exists.

  Inherited From:
    - Phaser.Group#getRandomExists
  Source - core/Group.js, line 2372

#### 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:
    - Phaser.Group#getTop
  Source - core/Group.js, line 2204

#### 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:
    - Phaser.Group#hasProperty
  Source - core/Group.js, line 1104

#### 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 to `value`
  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:
    - Phaser.Group#iterate
  Source - core/Group.js, line 1976

#### 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:

  Phaser.Group -

  The Group to which all the children were moved.

  Inherited From:
    - Phaser.Group#moveAll
  Source - core/Group.js, line 2479

#### 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:
    - Phaser.Group#moveDown
  Source - core/Group.js, line 969

#### 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:
    - Phaser.Group#moveUp
  Source - core/Group.js, line 945

#### 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:
    - Phaser.Group#multiplyAll
  Source - core/Group.js, line 1420

#### 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:
    - Phaser.Group#next
  Source - core/Group.js, line 833

#### <internal> postUpdate()

  The core postUpdate - as called by World.

  Inherited From:
    - Phaser.Group#postUpdate
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 1656

#### <internal> preUpdate()

  The core preUpdate - as called by World.

  Inherited From:
    - Phaser.Group#preUpdate
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 1611

#### 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:
    - Phaser.Group#previous
  Source - core/Group.js, line 862

#### 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:
    - Phaser.Group#remove
  Source - core/Group.js, line 2431

#### 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:
    - Phaser.Group#removeAll
  Source - core/Group.js, line 2508

#### 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:
    - Phaser.Group#removeBetween
  Source - core/Group.js, line 2556

#### removeChild(child) → {DisplayObject}

  Removes a child from the container.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `child` | DisplayObject | The DisplayObject to remove

  ##### Returns:

  DisplayObject -

  The child that was removed.

  Inherited From:
    - PIXI.DisplayObjectContainer#removeChild
  Source - pixi/display/DisplayObjectContainer.js, line 171

#### 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:

  DisplayObject -

  The child that was removed.

  Inherited From:
    - PIXI.DisplayObjectContainer#removeChildAt
  Source - pixi/display/DisplayObjectContainer.js, line 191

#### 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:
    - PIXI.DisplayObjectContainer#removeChildren
  Source - pixi/display/DisplayObjectContainer.js, line 213

#### 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:
    - Phaser.Group#removeFromHash
  Source - core/Group.js, line 464

#### 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:
    - Phaser.Group#replace
  Source - core/Group.js, line 1065

#### resetChild(child, x, y, key, frame) → {DisplayObject}

  Takes a child and if the `x` and `y` arguments are given it calls `child.reset(x, y)` on it.

  If the `key` and optionally the `frame` arguments are given, it calls `child.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:

  DisplayObject -

  The child that was reset: usually a Phaser.Sprite.

  Inherited From:
    - Phaser.Group#resetChild
  Source - core/Group.js, line 2165

#### 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:
    - Phaser.Group#resetCursor
  Source - core/Group.js, line 806

#### resize(width, height)

  Updates the size of this world. Note that this doesn't modify the world x/y coordinates, just the width and height.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `width` | number | New width of the game world in pixels.
  `height` | number | New height of the game world in pixels.

  Source - core/World.js, line 125

#### reverse()

  Reverses all children in this group.

  This operation applies only to immediate children and does not propagate to subgroups.

  Inherited From:
    - Phaser.Group#reverse
  Source - core/Group.js, line 1015

#### 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:
    - Phaser.Group#sendToBack
  Source - core/Group.js, line 926

#### 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:
    - Phaser.Group#set
  Source - core/Group.js, line 1246

#### 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:
    - Phaser.Group#setAll
  Source - core/Group.js, line 1277

#### 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:
    - Phaser.Group#setAllChildren
  Source - core/Group.js, line 1312

#### setBounds(x, y, width, height)

  Updates the size of this world and sets World.x/y to the given values
  The Camera bounds and Physics bounds (if set) are also updated to match the new World bounds.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `x` | number | Top left most corner of the world.
  `y` | number | Top left most corner of the world.
  `width` | number | New width of the game world in pixels.
  `height` | number | New height of the game world in pixels.

  Source - core/World.js, line 94

#### 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:
    - PIXI.DisplayObjectContainer#setChildIndex
  Source - pixi/display/DisplayObjectContainer.js, line 132

#### 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:
    - Phaser.Group#setProperty
  Source - core/Group.js, line 1139

#### shutdown()

  Destroyer of worlds.

  Source - core/World.js, line 158

#### 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 your `State.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:
    - Phaser.Group#sort
  Source - core/Group.js, line 1855

#### <internal> stateChange()

  Called whenever the State changes or resets.

  It resets the world.x and world.y coordinates back to zero,
  then resets the Camera.

  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/World.js, line 76

#### 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:
    - Phaser.Group#subAll
  Source - core/Group.js, line 1403

#### 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:
    - Phaser.Group#swap
  Source - core/Group.js, line 891

#### swapChildren(child, child2)

  Swaps the position of 2 Display Objects within this container.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `child` | DisplayObject | -
  `child2` | DisplayObject | -

  Inherited From:
    - PIXI.DisplayObjectContainer#swapChildren
  Source - pixi/display/DisplayObjectContainer.js, line 85

#### <internal> update()

  The core update - as called by World.

  Inherited From:
    - Phaser.Group#update
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 1639

#### <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:
    - Phaser.Group#updateZ
  Internal:
    - This member is internal (protected) and may be modified or removed in the future.
  Source - core/Group.js, line 663

#### wrap(sprite, padding, useBounds, horizontal, vertical)

  This will take the given game object and check if its x/y coordinates fall outside of the world bounds.
  If they do it will reposition the object to the opposite side of the world, creating a wrap-around effect.
  If sprite has a P2 body then the body (sprite.body) should be passed as first parameter to the function.

  Please understand there are limitations to this method. For example if you have scaled the World
  then objects won't always be re-positioned correctly, and you'll need to employ your own wrapping function.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `sprite` | Phaser.Sprite | Phaser.Image | Phaser.TileSprite | Phaser.Text |  |  | The object you wish to wrap around the world bounds.
  `padding` | number | <optional> | 0 | Extra padding added equally to the sprite.x and y coordinates before checking if within the world bounds. Ignored if useBounds is true.
  `useBounds` | boolean | <optional> | false | If useBounds is false wrap checks the object.x/y coordinates. If true it does a more accurate bounds check, which is more expensive.
  `horizontal` | boolean | <optional> | true | If horizontal is false, wrap will not wrap the object.x coordinates horizontally.
  `vertical` | boolean | <optional> | true | If vertical is false, wrap will not wrap the object.y coordinates vertically.

  Source - core/World.js, line 170

#### 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:
    - Phaser.Group#xy
  Source - core/Group.js, line 993