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 code: physics/arcade/Body.js, line 15
Public Properties
-
acceleration : Phaser.Point
-
The velocity in pixels per second sq. of the Body.
- Source code: physics/arcade/Body.js, line 128
-
allowGravity : boolean
-
Allow this Body to be influenced by gravity? Either world or local.
- Default Value
- true
- Source code: physics/arcade/Body.js, line 139
-
allowRotation : boolean
-
Allow this Body to be rotated? (via angularVelocity, etc)
- Default Value
- true
- Source code: physics/arcade/Body.js, line 59
-
[readonly] angle : number
-
The angle of the Body in radians as calculated by its velocity, rather than its visual angle.
- Source code: physics/arcade/Body.js, line 191
-
angularAcceleration : number
-
The angular acceleration in pixels per second sq. of the Body.
- Default Value
- 0
- Source code: physics/arcade/Body.js, line 167
-
angularDrag : number
-
The angular drag applied to the rotation of the Body.
- Default Value
- 0
- Source code: physics/arcade/Body.js, line 173
-
angularVelocity : number
-
The angular velocity in pixels per second sq. of the Body.
- Default Value
- 0
- Source code: physics/arcade/Body.js, line 161
-
blocked : Object
-
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. An object containing on which faces this Body is blocked from moving, if any.
- Source code: physics/arcade/Body.js, line 285
-
[readonly] bottom : number
-
The bottom value of this Body (same as Body.y + Body.height)
- Source code: physics/arcade/Body.js, line 721
-
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 code: physics/arcade/Body.js, line 149
-
center : Phaser.Point
-
The center coordinate of the Physics Body.
- Source code: physics/arcade/Body.js, line 107
-
checkCollision : Object
-
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. An object containing allowed collision.
- Source code: physics/arcade/Body.js, line 265
-
collideWorldBounds : boolean
-
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. Should the Body collide with the World bounds?
- Source code: physics/arcade/Body.js, line 258
-
customSeparateX : boolean
-
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. Use a custom separation system or the built-in one?
- Default Value
- false
- Source code: physics/arcade/Body.js, line 226
-
customSeparateY : boolean
-
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. Use a custom separation system or the built-in one?
- Default Value
- false
- Source code: physics/arcade/Body.js, line 234
-
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 code: physics/arcade/Body.js, line 123
-
drag : Phaser.Point
-
The drag applied to the motion of the Body.
- Source code: physics/arcade/Body.js, line 133
-
embedded : boolean
-
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. Body embed value.
- Source code: physics/arcade/Body.js, line 252
-
enable : boolean
-
A disabled body won't be checked for any form of collision or overlap or have its pre/post updates run.
- Default Value
- true
- Source code: physics/arcade/Body.js, line 36
-
facing : number
-
A const reference to the direction the Body is traveling or facing.
- Source code: physics/arcade/Body.js, line 203
-
game : Phaser.Game
-
Local reference to game.
- Source code: physics/arcade/Body.js, line 25
-
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 code: physics/arcade/Body.js, line 144
-
halfHeight : number
-
The calculated height / 2 of the physics body.
- Source code: physics/arcade/Body.js, line 102
-
halfWidth : number
-
The calculated width / 2 of the physics body.
- Source code: physics/arcade/Body.js, line 97
-
height
-
- Source code: physics/arcade/Body.js, line 92
Properties:
Name Type Description .numInternal
ID cache
-
immovable : boolean
-
An immovable Body will not receive any impacts from other bodies.
- Default Value
- false
- Source code: physics/arcade/Body.js, line 209
-
mass : number
-
The mass of the Body.
- Default Value
- 1
- Source code: physics/arcade/Body.js, line 185
-
maxAngular : number
-
The maximum angular velocity in pixels per second sq. that the Body can reach.
- Default Value
- 1000
- Source code: physics/arcade/Body.js, line 179
-
maxVelocity : Phaser.Point
-
The maximum velocity in pixels per second sq. that the Body can reach.
- Source code: physics/arcade/Body.js, line 155
-
moves : boolean
-
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. Set to true to allow the Physics system to move this Body, other false to move it manually.
- Default Value
- true
- Source code: physics/arcade/Body.js, line 218
-
[readonly] newVelocity : Phaser.Point
-
New velocity.
- Source code: physics/arcade/Body.js, line 118
-
offset : Phaser.Point
-
The offset of the Physics Body from the Sprite x/y position.
- Source code: physics/arcade/Body.js, line 41
-
overlapX : number
-
When this body collides with another, the amount of overlap is stored here. The amount of horizontal overlap during the collision.
- Source code: physics/arcade/Body.js, line 240
-
overlapY : number
-
When this body collides with another, the amount of overlap is stored here. The amount of vertical overlap during the collision.
- Source code: physics/arcade/Body.js, line 246
-
phase
-
- Source code: physics/arcade/Body.js, line 297
Properties:
Name Type Description phaser
number Is this Body in a preUpdate (1) or postUpdate (2) state?
-
[readonly] position : Phaser.Point
-
The position of the physics body.
- Source code: physics/arcade/Body.js, line 47
-
[readonly] preRotation : number
-
The previous rotation of the physics body.
- Source code: physics/arcade/Body.js, line 70
-
[readonly] prev : Phaser.Point
-
The previous position of the physics body.
- Source code: physics/arcade/Body.js, line 53
-
[readonly] right : number
-
The right value of this Body (same as Body.x + Body.width)
- Source code: physics/arcade/Body.js, line 734
-
rotation : number
-
The amount the Body is rotated.
- Source code: physics/arcade/Body.js, line 64
-
skipQuadTree : boolean
-
If true and you collide this Sprite against a Group, it will disable the collision check from using a QuadTree.
- Source code: physics/arcade/Body.js, line 302
-
[readonly] sourceHeight : number
-
The un-scaled original size.
- Source code: physics/arcade/Body.js, line 82
-
[readonly] sourceWidth : number
-
The un-scaled original size.
- Source code: physics/arcade/Body.js, line 76
-
[readonly] speed : number
-
The speed of the Body as calculated by its velocity.
- Source code: physics/arcade/Body.js, line 197
-
sprite : Phaser.Sprite
-
Reference to the parent Sprite.
- Source code: physics/arcade/Body.js, line 20
-
tilePadding : Phaser.Point
-
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. Extra padding to be added to this sprites dimensions when checking for tile collision.
- Source code: physics/arcade/Body.js, line 292
-
touching : Object
-
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. An object containing touching results.
- Source code: physics/arcade/Body.js, line 272
-
type : number
-
The type of physics system this body belongs to.
- Source code: physics/arcade/Body.js, line 30
-
velocity : Phaser.Point
-
The velocity in pixels per second sq. of the Body.
- Source code: physics/arcade/Body.js, line 112
-
wasTouching : Object
-
This object is populated with previous touching values from the bodies previous collision. An object containing previous touching results.
- Source code: physics/arcade/Body.js, line 278
-
width : number
-
The calculated width of the physics body.
- Source code: physics/arcade/Body.js, line 87
-
x : number
-
The x position.
- Source code: physics/arcade/Body.js, line 747
-
y : number
-
The y position.
- Source code: physics/arcade/Body.js, line 764
Public Methods
-
<internal> checkWorldBounds()
-
Internal method.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: physics/arcade/Body.js, line 540
-
deltaAbsX() → {number}
-
Returns the absolute delta x value.
Returns
number -The absolute delta value.
- Source code: physics/arcade/Body.js, line 669
-
deltaAbsY() → {number}
-
Returns the absolute delta y value.
Returns
number -The absolute delta value.
- Source code: physics/arcade/Body.js, line 679
-
deltaX() → {number}
-
Returns the delta x value. The difference between Body.x now and in the previous step.
Returns
number -The delta value. Positive if the motion was to the right, negative if to the left.
- Source code: physics/arcade/Body.js, line 689
-
deltaY() → {number}
-
Returns the delta y value. The difference between Body.y now and in the previous step.
Returns
number -The delta value. Positive if the motion was downwards, negative if upwards.
- Source code: physics/arcade/Body.js, line 699
-
deltaZ() → {number}
-
Returns the delta z value. The difference between Body.rotation now and in the previous step.
Returns
number -The delta value. Positive if the motion was clockwise, negative if anti-clockwise.
- Source code: physics/arcade/Body.js, line 709
-
destroy()
-
Removes this bodies reference to its parent sprite, freeing it up for gc.
- Source code: physics/arcade/Body.js, line 528
-
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.
Returns
boolean -True if the given coordinates are inside this Body, otherwise false.
- Source code: physics/arcade/Body.js, line 635
-
onFloor() → {boolean}
-
Returns true if the bottom of this Body is in contact with either the world bounds or a tile.
Returns
boolean -True if in contact with either the world bounds or a tile.
- Source code: physics/arcade/Body.js, line 649
-
onWall() → {boolean}
-
Returns true if either side of this Body is in contact with either the world bounds or a tile.
Returns
boolean -True if in contact with either the world bounds or a tile.
- Source code: physics/arcade/Body.js, line 659
-
<internal> postUpdate()
-
Internal method.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: physics/arcade/Body.js, line 444
-
<internal> preUpdate()
-
Internal method.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: physics/arcade/Body.js, line 364
-
render(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>
'rgba(0,255,0,0.4)' 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 code: physics/arcade/Body.js, line 782
-
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 code: physics/arcade/Body.js, line 810
-
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 code: physics/arcade/Body.js, line 604
-
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 Argument Description width
number The width of the Body.
height
number The height of the Body.
offsetX
number <optional>
The X offset of the Body from the Sprite position.
offsetY
number <optional>
The Y offset of the Body from the Sprite position.
- Source code: physics/arcade/Body.js, line 576
-
<internal> updateBounds()
-
Internal method.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: physics/arcade/Body.js, line 338