new Body(system, sprite [, type] [, id] [, radius] [, x] [, y] [, width] [, height])
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, bounce values etc all on the Body.
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
system |
Phaser.Physics.Ninja | The physics system this Body belongs to. |
||
sprite |
Phaser.Sprite | The Sprite object this physics body belongs to. |
||
type |
number |
<optional> |
1 | The type of Ninja shape to create. 1 = AABB, 2 = Circle or 3 = Tile. |
id |
number |
<optional> |
1 | If this body is using a Tile shape, you can set the Tile id here, i.e. Phaser.Physics.Ninja.Tile.SLOPE_45DEGpn, Phaser.Physics.Ninja.Tile.CONVEXpp, etc. |
radius |
number |
<optional> |
16 | If this body is using a Circle shape this controls the radius. |
x |
number |
<optional> |
0 | The x coordinate of this Body. This is only used if a sprite is not provided. |
y |
number |
<optional> |
0 | The y coordinate of this Body. This is only used if a sprite is not provided. |
width |
number |
<optional> |
0 | The width of this Body. This is only used if a sprite is not provided. |
height |
number |
<optional> |
0 | The height of this Body. This is only used if a sprite is not provided. |
Members
-
aabb : Phaser.Physics.Ninja.AABB
-
The AABB object this body is using for collision.
Type:
-
<readonly> angle : number
-
The angle of this Body
Type:
- number
-
<readonly> bottom : number
-
The bottom value of this Body (same as Body.y + Body.height)
Type:
- number
-
bounce : number
-
The bounciness of this object when it collides. A value between 0 and 1. We recommend setting it to 0.999 to avoid jittering.
Type:
- number
- Default Value:
-
- 0.3
- Source:
- src/physics/ninja/Body.js line 96
-
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.
Type:
- object
-
circle : Phaser.Physics.Ninja.Circle
-
The Circle object this body is using for collision.
Type:
-
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?
Type:
- boolean
-
drag : number
-
The drag applied to this object as it moves.
Type:
- number
- Default Value:
-
- 1
- Source:
- src/physics/ninja/Body.js line 78
-
facing : number
-
A const reference to the direction the Body is traveling or facing.
Type:
- number
-
friction : number
-
The friction applied to this object as it moves.
Type:
- number
- Default Value:
-
- 0.05
- Source:
- src/physics/ninja/Body.js line 84
-
game : Phaser.Game
-
Local reference to game.
Type:
-
gravityScale : number
-
How much of the world gravity should be applied to this object? 1 = all of it, 0.5 = 50%, etc.
Type:
- number
- Default Value:
-
- 1
- Source:
- src/physics/ninja/Body.js line 90
-
<readonly> height : number
-
The height of this Body
Type:
- number
-
immovable : boolean
-
An immovable Body will not receive any impacts from other bodies. Not fully implemented.
Type:
- boolean
-
maxSpeed : number
-
The maximum speed this body can travel at (taking drag and friction into account)
Type:
- number
- Default Value:
-
- 8
- Source:
- src/physics/ninja/Body.js line 145
-
<readonly> right : number
-
The right value of this Body (same as Body.x + Body.width)
Type:
- number
-
shape : object
-
A local reference to the body shape.
Type:
- object
-
<readonly> speed : number
-
The speed of this Body
Type:
- number
-
sprite : Phaser.Sprite
-
Reference to the parent Sprite.
Type:
-
system : Phaser.Physics.Ninja
-
The parent physics system.
Type:
-
tile : Phaser.Physics.Ninja.Tile
-
The Tile object this body is using for collision.
Type:
-
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.
Type:
- object
-
type : number
-
The type of physics system this body belongs to.
Type:
- number
-
velocity : Phaser.Point
-
The velocity in pixels per second sq. of the Body.
Type:
-
wasTouching : object
-
This object is populated with previous touching values from the bodies previous collision. An object containing previous touching results.
Type:
- object
-
<readonly> width : number
-
The width of this Body
Type:
- number
-
x : number
-
The x position.
Type:
- number
-
y : number
-
The y position.
Type:
- number
Methods
-
deltaAbsX()
-
Returns the absolute delta x value.
Returns:
The absolute delta value.
- Type
- number
-
deltaAbsY()
-
Returns the absolute delta y value.
Returns:
The absolute delta value.
- Type
- number
-
deltaX()
-
Returns the delta x value. The difference between Body.x now and in the previous step.
Returns:
The delta value. Positive if the motion was to the right, negative if to the left.
- Type
- number
-
deltaY()
-
Returns the delta y value. The difference between Body.y now and in the previous step.
Returns:
The delta value. Positive if the motion was downwards, negative if upwards.
- Type
- number
-
destroy()
-
Destroys this body's reference to the sprite and system, and destroys its shape.
-
<protected> postUpdate()
-
Internal method.
-
<protected> preUpdate()
-
Internal method.
-
render(context, body [, color] [, filled])
-
Render Sprite's Body.
Parameters:
Name Type Argument Default Description context
object The context to render to.
body
Phaser.Physics.Ninja.Body The Body to render.
color
string <optional>
'rgba(0,255,0,0.4)' color of the debug shape to be rendered. (format is css color string).
filled
boolean <optional>
true Render the shape as a filled (default, true) or a stroked (false)
-
reset()
-
Resets all Body values and repositions on the Sprite.
-
setZeroVelocity()
-
Stops all movement of this body.