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
-
- Source:
Properties:
Name Type Description acceleration
Phaser.Point The velocity in pixels per second sq. of the Body.
-
allowGravity
-
- Default Value:
- true
- Source:
Properties:
Name Type Description allowGravity
boolean Allow this Body to be influenced by gravity? Either world or local.
-
allowRotation
-
- Default Value:
- true
- Source:
Properties:
Name Type Description allowRotation
boolean Allow this Body to be rotated? (via angularVelocity, etc)
-
<readonly> angle
-
- Source:
Properties:
Name Type Description angle
number The angle of the Body in radians as calculated by its velocity, rather than its visual angle.
-
angularAcceleration
-
- Default Value:
- 0
- Source:
Properties:
Name Type Description angularAcceleration
number The angular acceleration in pixels per second sq. of the Body.
-
angularDrag
-
- Default Value:
- 0
- Source:
Properties:
Name Type Description angularDrag
number The angular drag applied to the rotation of the Body.
-
angularVelocity
-
- Default Value:
- 0
- Source:
Properties:
Name Type Description angularVelocity
number The angular velocity in pixels per second sq. of the Body.
-
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.
- Source:
Properties:
Name Type Description blocked
object An object containing on which faces this Body is blocked from moving, if any.
-
<readonly> bottom
-
- Source:
Properties:
Name Type Description bottom
number The bottom value of this Body (same as Body.y + Body.height)
-
bounce
-
- Source:
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.
-
center
-
- Source:
Properties:
Name Type Description center
Phaser.Point The center coordinate of the Physics Body.
-
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.
- Source:
Properties:
Name Type Description checkCollision
object An object containing allowed collision.
-
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.
- Source:
Properties:
Name Type Description collideWorldBounds
boolean Should the Body collide with the World bounds?
-
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.
- Default Value:
- false
- Source:
Properties:
Name Type Description customSeparateX
boolean Use a custom separation system or the built-in one?
-
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.
- Default Value:
- false
- Source:
Properties:
Name Type Description customSeparateY
boolean Use a custom separation system or the built-in one?
-
deltaMax
-
- Source:
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.
-
drag
-
- Source:
Properties:
Name Type Description drag
Phaser.Point The drag applied to the motion of the Body.
-
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.
- Source:
Properties:
Name Type Description embedded
boolean Body embed value.
-
facing
-
- Source:
Properties:
Name Type Description facing
number A const reference to the direction the Body is traveling or facing.
-
game
-
- Source:
Properties:
Name Type Description game
Phaser.Game Local reference to game.
-
gravity
-
- Source:
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.
-
halfHeight
-
- Source:
Properties:
Name Type Description halfHeight
number The calculated height / 2 of the physics body.
-
halfWidth
-
- Source:
Properties:
Name Type Description halfWidth
number The calculated width / 2 of the physics body.
-
height
-
- Source:
Properties:
Name Type Description .numInternal
ID cache
-
immovable
-
- Default Value:
- false
- Source:
Properties:
Name Type Description immovable
boolean An immovable Body will not receive any impacts from other bodies.
-
mass
-
- Default Value:
- 1
- Source:
Properties:
Name Type Description mass
number The mass of the Body.
-
maxAngular
-
- Default Value:
- 1000
- Source:
Properties:
Name Type Description maxAngular
number The maximum angular velocity in pixels per second sq. that the Body can reach.
-
maxVelocity
-
- Source:
Properties:
Name Type Description maxVelocity
Phaser.Point The maximum velocity in pixels per second sq. that the Body can reach.
-
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.
- Default Value:
- true
- Source:
Properties:
Name Type Description moves
boolean Set to true to allow the Physics system to move this Body, other false to move it manually.
-
<readonly> newVelocity
-
- Source:
Properties:
Name Type Description newVelocity
Phaser.Point New velocity.
-
offset
-
- Source:
Properties:
Name Type Description offset
Phaser.Point The offset of the Physics Body from the Sprite x/y position.
-
overlapX
-
When this body collides with another, the amount of overlap is stored here.
- Source:
Properties:
Name Type Description overlapX
number The amount of horizontal overlap during the collision.
-
overlapY
-
When this body collides with another, the amount of overlap is stored here.
- Source:
Properties:
Name Type Description overlapY
number The amount of vertical overlap during the collision.
-
phase
-
- Source:
Properties:
Name Type Description phaser
number Is this Body in a preUpdate or postUpdate state?
-
<readonly> position
-
- Source:
Properties:
Name Type Description position
Phaser.Point The position of the physics body.
-
<readonly> preRotation
-
- Source:
Properties:
Name Type Description preRotation
number The previous rotation of the physics body.
-
<readonly> prev
-
- Source:
Properties:
Name Type Description prev
Phaser.Point The previous position of the physics body.
-
<readonly> right
-
- Source:
Properties:
Name Type Description right
number The right value of this Body (same as Body.x + Body.width)
-
rotation
-
- Source:
Properties:
Name Type Description rotation
number The amount the Body is rotated.
-
<readonly> sourceHeight
-
- Source:
Properties:
Name Type Description sourceHeight
number The un-scaled original size.
-
<readonly> sourceWidth
-
- Source:
Properties:
Name Type Description sourceWidth
number The un-scaled original size.
-
<readonly> speed
-
- Source:
Properties:
Name Type Description speed
number The speed of the Body as calculated by its velocity.
-
sprite
-
- Source:
Properties:
Name Type Description sprite
Phaser.Sprite Reference to the parent Sprite.
-
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.
- Source:
Properties:
Name Type Description tilePadding
Phaser.Point Extra padding to be added to this sprites dimensions when checking for tile collision.
-
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.
- Source:
Properties:
Name Type Description touching
object An object containing touching results.
-
type
-
- Source:
Properties:
Name Type Description type
number The type of physics system this body belongs to.
-
velocity
-
- Source:
Properties:
Name Type Description velocity
Phaser.Point The velocity in pixels per second sq. of the Body.
-
wasTouching
-
This object is populated with previous touching values from the bodies previous collision.
- Source:
Properties:
Name Type Description wasTouching
object An object containing previous touching results.
-
width
-
- Source:
Properties:
Name Type Description width
number The calculated width of the physics body.
-
x
-
- Source:
Properties:
Name Type Description x
number The x position.
-
y
-
- Source:
Properties:
Name Type Description y
number The y position.
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: