Class: Body

Phaser.Physics.Arcade. Body

Arcade Physics Body Constructor

new Body(sprite)

The Physics Body is linked to a single Sprite. All physics operations should be performed against the body rather than the Sprite itself. For example you can set the velocity, acceleration, bounce values etc all on the Body.

Parameters:
Name Type Description
sprite Phaser.Sprite

The Sprite object this physics body belongs to.

Source:

Members

acceleration

Properties:
Name Type Description
acceleration Phaser.Point

The velocity in pixels per second sq. of the Body.

Source:

allowGravity

Properties:
Name Type Description
allowGravity boolean

Allow this Body to be influenced by gravity? Either world or local.

Default Value:
  • true
Source:

allowRotation

Properties:
Name Type Description
allowRotation boolean

Allow this Body to be rotated? (via angularVelocity, etc)

Default Value:
  • true
Source:

<readonly> angle

Properties:
Name Type Description
angle number

The angle of the Body in radians as calculated by its velocity, rather than its visual angle.

Source:

angularAcceleration

Properties:
Name Type Description
angularAcceleration number

The angular acceleration in pixels per second sq. of the Body.

Default Value:
  • 0
Source:

angularDrag

Properties:
Name Type Description
angularDrag number

The angular drag applied to the rotation of the Body.

Default Value:
  • 0
Source:

angularVelocity

Properties:
Name Type Description
angularVelocity number

The angular velocity in pixels per second sq. of the Body.

Default Value:
  • 0
Source:

blocked

This object is populated with boolean values when the Body collides with the World bounds or a Tile. For example if blocked.up is true then the Body cannot move up.

Properties:
Name Type Description
blocked object

An object containing on which faces this Body is blocked from moving, if any.

Source:

<readonly> bottom

Properties:
Name Type Description
bottom number

The bottom value of this Body (same as Body.y + Body.height)

Source:

bounce

Properties:
Name Type Description
bounce Phaser.Point

The elasticitiy of the Body when colliding. bounce.x/y = 1 means full rebound, bounce.x/y = 0.5 means 50% rebound velocity.

Source:

center

Properties:
Name Type Description
center Phaser.Point

The center coordinate of the Physics Body.

Source:

checkCollision

Set the checkCollision properties to control which directions collision is processed for this Body. For example checkCollision.up = false means it won't collide when the collision happened while moving up.

Properties:
Name Type Description
checkCollision object

An object containing allowed collision.

Source:

collideWorldBounds

A Body can be set to collide against the World bounds automatically and rebound back into the World if this is set to true. Otherwise it will leave the World.

Properties:
Name Type Description
collideWorldBounds boolean

Should the Body collide with the World bounds?

Source:

customSeparateX

This flag allows you to disable the custom x separation that takes place by Physics.Arcade.separate. Used in combination with your own collision processHandler you can create whatever type of collision response you need.

Properties:
Name Type Description
customSeparateX boolean

Use a custom separation system or the built-in one?

Default Value:
  • false
Source:

customSeparateY

This flag allows you to disable the custom y separation that takes place by Physics.Arcade.separate. Used in combination with your own collision processHandler you can create whatever type of collision response you need.

Properties:
Name Type Description
customSeparateY boolean

Use a custom separation system or the built-in one?

Default Value:
  • false
Source:

deltaMax

Properties:
Name Type Description
deltaMax Phaser.Point

The Sprite position is updated based on the delta x/y values. You can set a cap on those (both +-) using deltaMax.

Source:

drag

Properties:
Name Type Description
drag Phaser.Point

The drag applied to the motion of the Body.

Source:

embedded

If a body is overlapping with another body, but neither of them are moving (maybe they spawned on-top of each other?) this is set to true.

Properties:
Name Type Description
embedded boolean

Body embed value.

Source:

facing

Properties:
Name Type Description
facing number

A const reference to the direction the Body is traveling or facing.

Source:

game

Properties:
Name Type Description
game Phaser.Game

Local reference to game.

Source:

gravity

Properties:
Name Type Description
gravity Phaser.Point

A local gravity applied to this Body. If non-zero this over rides any world gravity, unless Body.allowGravity is set to false.

Source:

halfHeight

Properties:
Name Type Description
halfHeight number

The calculated height / 2 of the physics body.

Source:

halfWidth

Properties:
Name Type Description
halfWidth number

The calculated width / 2 of the physics body.

Source:

height

Properties:
Name Type Description
.numInternal

ID cache

Source:

immovable

Properties:
Name Type Description
immovable boolean

An immovable Body will not receive any impacts from other bodies.

Default Value:
  • false
Source:

mass

Properties:
Name Type Description
mass number

The mass of the Body.

Default Value:
  • 1
Source:

maxAngular

Properties:
Name Type Description
maxAngular number

The maximum angular velocity in pixels per second sq. that the Body can reach.

Default Value:
  • 1000
Source:

maxVelocity

Properties:
Name Type Description
maxVelocity Phaser.Point

The maximum velocity in pixels per second sq. that the Body can reach.

Source:

moves

If you have a Body that is being moved around the world via a tween or a Group motion, but its local x/y position never actually changes, then you should set Body.moves = false. Otherwise it will most likely fly off the screen. If you want the physics system to move the body around, then set moves to true.

Properties:
Name Type Description
moves boolean

Set to true to allow the Physics system to move this Body, other false to move it manually.

Default Value:
  • true
Source:

<readonly> newVelocity

Properties:
Name Type Description
newVelocity Phaser.Point

New velocity.

Source:

offset

Properties:
Name Type Description
offset Phaser.Point

The offset of the Physics Body from the Sprite x/y position.

Source:

overlapX

When this body collides with another, the amount of overlap is stored here.

Properties:
Name Type Description
overlapX number

The amount of horizontal overlap during the collision.

Source:

overlapY

When this body collides with another, the amount of overlap is stored here.

Properties:
Name Type Description
overlapY number

The amount of vertical overlap during the collision.

Source:

phase

Properties:
Name Type Description
phaser number

Is this Body in a preUpdate or postUpdate state?

Source:

<readonly> position

Properties:
Name Type Description
position Phaser.Point

The position of the physics body.

Source:

<readonly> preRotation

Properties:
Name Type Description
preRotation number

The previous rotation of the physics body.

Source:

<readonly> prev

Properties:
Name Type Description
prev Phaser.Point

The previous position of the physics body.

Source:
Properties:
Name Type Description
right number

The right value of this Body (same as Body.x + Body.width)

Source:

rotation

Properties:
Name Type Description
rotation number

The amount the Body is rotated.

Source:

<readonly> sourceHeight

Properties:
Name Type Description
sourceHeight number

The un-scaled original size.

Source:

<readonly> sourceWidth

Properties:
Name Type Description
sourceWidth number

The un-scaled original size.

Source:

<readonly> speed

Properties:
Name Type Description
speed number

The speed of the Body as calculated by its velocity.

Source:

sprite

Properties:
Name Type Description
sprite Phaser.Sprite

Reference to the parent Sprite.

Source:

tilePadding

If this is an especially small or fast moving object then it can sometimes skip over tilemap collisions if it moves through a tile in a step. Set this padding value to add extra padding to its bounds. tilePadding.x applied to its width, y to its height.

Properties:
Name Type Description
tilePadding Phaser.Point

Extra padding to be added to this sprites dimensions when checking for tile collision.

Source:

touching

This object is populated with boolean values when the Body collides with another. touching.up = true means the collision happened to the top of this Body for example.

Properties:
Name Type Description
touching object

An object containing touching results.

Source:

type

Properties:
Name Type Description
type number

The type of physics system this body belongs to.

Source:

velocity

Properties:
Name Type Description
velocity Phaser.Point

The velocity in pixels per second sq. of the Body.

Source:

wasTouching

This object is populated with previous touching values from the bodies previous collision.

Properties:
Name Type Description
wasTouching object

An object containing previous touching results.

Source:

width

Properties:
Name Type Description
width number

The calculated width of the physics body.

Source:

x

Properties:
Name Type Description
x number

The x position.

Source:

y

Properties:
Name Type Description
y number

The y position.

Source:

Methods

<protected> checkWorldBounds()

Internal method.

Source:

deltaAbsX() → {number}

Returns the absolute delta x value.

Source:
Returns:

The absolute delta value.

Type
number

deltaAbsY() → {number}

Returns the absolute delta y value.

Source:
Returns:

The absolute delta value.

Type
number

deltaX() → {number}

Returns the delta x value. The difference between Body.x now and in the previous step.

Source:
Returns:

The delta value. Positive if the motion was to the right, negative if to the left.

Type
number

deltaY() → {number}

Returns the delta y value. The difference between Body.y now and in the previous step.

Source:
Returns:

The delta value. Positive if the motion was downwards, negative if upwards.

Type
number

deltaZ() → {number}

Returns the delta z value. The difference between Body.rotation now and in the previous step.

Source:
Returns:

The delta value. Positive if the motion was clockwise, negative if anti-clockwise.

Type
number

destroy()

Removes this bodies reference to its parent sprite, freeing it up for gc.

Source:

hitTest(x, y) → {boolean}

Tests if a world point lies within this Body.

Parameters:
Name Type Description
x number

The world x coordinate to test.

y number

The world y coordinate to test.

Source:
Returns:

True if the given coordinates are inside this Body, otherwise false.

Type
boolean

onFloor() → {boolean}

Returns true if the bottom of this Body is in contact with either the world bounds or a tile.

Source:
Returns:

True if in contact with either the world bounds or a tile.

Type
boolean

onWall() → {boolean}

Returns true if either side of this Body is in contact with either the world bounds or a tile.

Source:
Returns:

True if in contact with either the world bounds or a tile.

Type
boolean

<protected> postUpdate()

Internal method.

Source:

<protected> preUpdate()

Internal method.

Source:

renderBodyInfo(body, x, y, color)

Render Sprite Body Physics Data as text.

Parameters:
Name Type Argument Default Description
body Phaser.Physics.Arcade.Body

The Body to render the info of.

x number

X position of the debug info to be rendered.

y number

Y position of the debug info to be rendered.

color string <optional>
'rgb(255,255,255)'

color of the debug info to be rendered. (format is css color string).

Source:

renderDebug(context, body, color, filled)

Render Sprite Body.

Parameters:
Name Type Argument Default Description
context object

The context to render to.

body Phaser.Physics.Arcade.Body

The Body to render the info of.

color string <optional>
'rgb(255,255,255)'

color of the debug info to be rendered. (format is css color string).

filled boolean <optional>
true

Render the objected as a filled (default, true) or a stroked (false)

Source:

reset(x, y)

Resets all Body values (velocity, acceleration, rotation, etc)

Parameters:
Name Type Description
x number

The new x position of the Body.

y number

The new y position of the Body.

Source:

setSize(width, height, offsetX, offsetY)

You can modify the size of the physics Body to be any dimension you need. So it could be smaller or larger than the parent Sprite. You can also control the x and y offset, which is the position of the Body relative to the top-left of the Sprite.

Parameters:
Name Type Description
width number

The width of the Body.

height number

The height of the Body.

offsetX number

The X offset of the Body from the Sprite position.

offsetY number

The Y offset of the Body from the Sprite position.

Source:

<protected> updateBounds()

Internal method.

Source:
Phaser Copyright © 2012-2014 Photon Storm Ltd.
Documentation generated by JSDoc 3.3.0-dev on Fri Apr 11 2014 13:08:32 GMT+0100 (BST) using the DocStrap template.