Class: Body

Phaser.Physics.P2. Body

new Body(game [, sprite] [, x] [, y] [, mass])

The Physics Body is typically linked to a single Sprite and defines properties that determine how the physics body is simulated. These properties affect how the body reacts to forces, what forces it generates on itself (to simulate friction), and how it reacts to collisions in the scene. In most cases, the properties are used to simulate physical effects. Each body also has its own property values that determine exactly how it reacts to forces and collisions in the scene. By default a single Rectangle shape is added to the Body that matches the dimensions of the parent Sprite. See addShape, removeShape, clearShapes to add extra shapes around the Body. Note: When bound to a Sprite to avoid single-pixel jitters on mobile devices we strongly recommend using Sprite sizes that are even on both axis, i.e. 128x128 not 127x127. Note: When a game object is given a P2 body it has its anchor x/y set to 0.5, so it becomes centered.

Parameters:
Name Type Argument Default Description
game Phaser.Game

Game reference to the currently running game.

sprite Phaser.Sprite <optional>

The Sprite object this physics body belongs to.

x number <optional>
0

The x coordinate of this Body.

y number <optional>
0

The y coordinate of this Body.

mass number <optional>
1

The default mass of this Body (0 = static).

Source:
src/physics/p2/Body.js line 23

Members

<static> DYNAMIC : Number

Dynamic body. Dynamic bodies body can move and respond to collisions and forces.

Type:
  • Number
Source:
src/physics/p2/Body.js line 1563

<static> KINEMATIC : Number

Kinematic body. Kinematic bodies only moves according to its .velocity, and does not respond to collisions or force.

Type:
  • Number
Source:
src/physics/p2/Body.js line 1579

<static> STATIC : Number

Static body. Static bodies do not move, and they do not respond to forces or collision.

Type:
  • Number
Source:
src/physics/p2/Body.js line 1571

allowSleep : boolean

Type:
  • boolean
Source:
src/physics/p2/Body.js line 1674

angle : number

The angle of the Body in degrees from its original orientation. Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation. Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement Body.angle = 450 is the same as Body.angle = 90. If you wish to work in radians instead of degrees use the property Body.rotation instead. Working in radians is faster as it doesn't have to convert values. The angle of this Body in degrees.

Type:
  • number
Source:
src/physics/p2/Body.js line 1699

angularDamping : number

Damping is specified as a value between 0 and 1, which is the proportion of velocity lost per second. The angular damping acting acting on the body.

Type:
  • number
Source:
src/physics/p2/Body.js line 1725

angularForce : number

The angular force acting on the body.

Type:
  • number
Source:
src/physics/p2/Body.js line 1748

angularVelocity : number

The angular velocity of the body.

Type:
  • number
Source:
src/physics/p2/Body.js line 1770

collidesWith : array

Array of CollisionGroups that this Bodies shapes collide with.

Type:
  • array
Source:
src/physics/p2/Body.js line 113

collideWorldBounds : boolean

A Body can be set to collide against the World bounds automatically if this is set to true. Otherwise it will leave the World. Note that this only applies if your World has bounds! The response to the collision should be managed via CollisionMaterials. Also note that when you set this it will only affect Body shapes that already exist. If you then add further shapes to your Body after setting this it will not proactively set them to collide with the bounds. Should the Body collide with the World bounds?

Type:
  • boolean
Default Value:
  • true
Source:
src/physics/p2/Body.js line 2051

damping : number

Damping is specified as a value between 0 and 1, which is the proportion of velocity lost per second. The linear damping acting on the body in the velocity direction.

Type:
  • number
Source:
src/physics/p2/Body.js line 1792

<protected> data : p2.Body

The p2 Body data.

Type:
  • p2.Body
Source:
src/physics/p2/Body.js line 60

debug : boolean

Enable or disable debug drawing of this body

Type:
  • boolean
Source:
src/physics/p2/Body.js line 2020

debugBody : Phaser.Physics.P2.BodyDebug

Reference to the debug body.

Type:
Source:
src/physics/p2/Body.js line 123

dirty : boolean

Internally used by Sprite.x/y

Type:
  • boolean
Source:
src/physics/p2/Body.js line 128

dynamic : boolean

Returns true if the Body is dynamic. Setting Body.dynamic to 'false' will make it static.

Type:
  • boolean
Source:
src/physics/p2/Body.js line 1612

fixedRotation : boolean

Type:
  • boolean
Source:
src/physics/p2/Body.js line 1815

force : Phaser.Physics.P2.InversePointProxy

The force applied to the body.

Type:
Source:
src/physics/p2/Body.js line 72

game : Phaser.Game

Local reference to game.

Type:
Source:
src/physics/p2/Body.js line 34

gravity : Phaser.Point

A locally applied gravity force to the Body. Applied directly before the world step. NOTE: Not currently implemented.

Type:
Source:
src/physics/p2/Body.js line 77

<readonly> id : number

The Body ID. Each Body that has been added to the World has a unique ID.

Type:
  • number
Source:
src/physics/p2/Body.js line 2004

inertia : number

The inertia of the body around the Z axis..

Type:
  • number
Source:
src/physics/p2/Body.js line 1840

kinematic : boolean

Returns true if the Body is kinematic. Setting Body.kinematic to 'false' will make it static.

Type:
  • boolean
Source:
src/physics/p2/Body.js line 1643

mass : number

The mass of the body.

Type:
  • number
Source:
src/physics/p2/Body.js line 1862

motionState : number

The type of motion this body has. Should be one of: Body.STATIC (the body does not move), Body.DYNAMIC (body can move and respond to collisions) and Body.KINEMATIC (only moves according to its .velocity).

Type:
  • number
Source:
src/physics/p2/Body.js line 1888

offset : Phaser.Point

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

Type:
Source:
src/physics/p2/Body.js line 54

onBeginContact : Phaser.Signal

Dispatched when a first contact is created between shapes in two bodies. This event is fired during the step, so collision has already taken place.

The event will be sent 5 arguments in this order:

The Phaser.Physics.P2.Body it is in contact with. This might be null if the Body was created directly in the p2 world. The p2.Body this Body is in contact with. The Shape from this body that caused the contact. The Shape from the contact body. The Contact Equation data array.

Type:
Source:
src/physics/p2/Body.js line 93

onEndContact : Phaser.Signal

Dispatched when contact ends between shapes in two bodies. This event is fired during the step, so collision has already taken place.

The event will be sent 4 arguments in this order:

The Phaser.Physics.P2.Body it is in contact with. This might be null if the Body was created directly in the p2 world. The p2.Body this Body has ended contact with. The Shape from this body that caused the original contact. The Shape from the contact body.

Type:
Source:
src/physics/p2/Body.js line 108

removeNextStep : boolean

To avoid deleting this body during a physics step, and causing all kinds of problems, set removeNextStep to true to have it removed in the next preUpdate.

Type:
  • boolean
Source:
src/physics/p2/Body.js line 118

rotation : number

The angle of the Body in radians. If you wish to work in degrees instead of radians use the Body.angle property instead. Working in radians is faster as it doesn't have to convert values. The angle of this Body in radians.

Type:
  • number
Source:
src/physics/p2/Body.js line 1913

sleepSpeedLimit : number

.

Type:
  • number
Source:
src/physics/p2/Body.js line 1938

sprite : Phaser.Sprite

Reference to the parent Sprite.

Type:
Source:
src/physics/p2/Body.js line 44

static : boolean

Returns true if the Body is static. Setting Body.static to 'false' will make it dynamic.

Type:
  • boolean
Source:
src/physics/p2/Body.js line 1581

type : number

The type of physics system this body belongs to.

Type:
  • number
Source:
src/physics/p2/Body.js line 49

velocity : Phaser.Physics.P2.InversePointProxy

The velocity of the body. Set velocity.x to a negative value to move to the left, position to the right. velocity.y negative values move up, positive move down.

Type:
Source:
src/physics/p2/Body.js line 67

world : Phaser.Physics.P2

Local reference to the P2 World.

Type:
Source:
src/physics/p2/Body.js line 39

x : number

The x coordinate of this Body.

Type:
  • number
Source:
src/physics/p2/Body.js line 1960

y : number

The y coordinate of this Body.

Type:
  • number
Source:
src/physics/p2/Body.js line 1982

Methods

addCapsule(length, radius [, offsetX] [, offsetY] [, rotation])

Adds a Capsule shape to this Body. You can control the offset from the center of the body and the rotation.

Parameters:
Name Type Argument Default Description
length number

The distance between the end points in pixels.

radius number

Radius of the capsule in pixels.

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1153
Returns:

The Capsule shape that was added to the Body.

Type
p2.Capsule

addCircle(radius [, offsetX] [, offsetY] [, rotation])

Adds a Circle shape to this Body. You can control the offset from the center of the body and the rotation.

Parameters:
Name Type Argument Default Description
radius number

The radius of this circle (in pixels)

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1057
Returns:

The Circle shape that was added to the Body.

Type
p2.Circle

addFixture(fixtureData)

Add a polygon fixture. This is used during #loadPolygon.

Parameters:
Name Type Description
fixtureData string

The data for the fixture. It contains: isSensor, filter (collision) and the actual polygon shapes.

Source:
src/physics/p2/Body.js line 1404
Returns:

An array containing the generated shapes for the given polygon.

Type
array

addLine(length [, offsetX] [, offsetY] [, rotation])

Adds a Line shape to this Body. The line shape is along the x direction, and stretches from [-length/2, 0] to [length/2,0]. You can control the offset from the center of the body and the rotation.

Parameters:
Name Type Argument Default Description
length number

The length of this line (in pixels)

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1132
Returns:

The Line shape that was added to the Body.

Type
p2.Line

addParticle( [offsetX] [, offsetY] [, rotation])

Adds a Particle shape to this Body. You can control the offset from the center of the body and the rotation.

Parameters:
Name Type Argument Default Description
offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1114
Returns:

The Particle shape that was added to the Body.

Type
p2.Particle

addPhaserPolygon(key, object)

Reads the shape data from a physics data file stored in the Game.Cache and adds it as a polygon to this Body. The shape data format is based on the output of the custom phaser exporter for PhysicsEditor

Parameters:
Name Type Description
key string

The key of the Physics Data file as stored in Game.Cache.

object string

The key of the object within the Physics data file that you wish to load the shape data from.

Source:
src/physics/p2/Body.js line 1363
Returns:

A list of created fixtures to be used with Phaser.Physics.P2.FixtureList

Type
Array

addPlane( [offsetX] [, offsetY] [, rotation])

Adds a Plane shape to this Body. The plane is facing in the Y direction. You can control the offset from the center of the body and the rotation.

Parameters:
Name Type Argument Default Description
offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1096
Returns:

The Plane shape that was added to the Body.

Type
p2.Plane

addPolygon(options, points)

Reads a polygon shape path, and assembles convex shapes from that and puts them at proper offset points. The shape must be simple and without holes. This function expects the x.y values to be given in pixels. If you want to provide them at p2 world scales then call Body.data.fromPolygon directly.

Parameters:
Name Type Description
options object

An object containing the build options:

Properties
Name Type Argument Default Description
optimalDecomp boolean <optional>
false

Set to true if you need optimal decomposition. Warning: very slow for polygons with more than 10 vertices.

skipSimpleCheck boolean <optional>
false

Set to true if you already know that the path is not intersecting itself.

removeCollinearPoints boolean | number <optional>
false

Set to a number (angle threshold value) to remove collinear points, or false to keep all points.

points Array.<number> | number

An array of 2d vectors that form the convex or concave polygon. Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...]. In the first form the array will mutate. Or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

Source:
src/physics/p2/Body.js line 1174
Returns:

True on success, else false.

Type
boolean

addRectangle(width, height [, offsetX] [, offsetY] [, rotation])

Adds a Rectangle shape to this Body. You can control the offset from the center of the body and the rotation.

Parameters:
Name Type Argument Default Description
width number

The width of the rectangle in pixels.

height number

The height of the rectangle in pixels.

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1076
Returns:

The shape that was added to the Body.

Type
p2.Box

addShape(shape [, offsetX] [, offsetY] [, rotation])

Add a shape to the body. You can pass a local transform when adding a shape, so that the shape gets an offset and an angle relative to the body center of mass. Will automatically update the mass properties and bounding radius. If this Body had a previously set Collision Group you will need to re-apply it to the new Shape this creates.

Parameters:
Name Type Argument Default Description
shape p2.Shape

The shape to add to the body.

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1030
Returns:

The shape that was added to the body.

Type
p2.Shape

addToWorld()

Adds this physics body to the world.

Source:
src/physics/p2/Body.js line 938

adjustCenterOfMass()

Moves the shape offsets so their center of mass becomes the body center of mass.

Source:
src/physics/p2/Body.js line 497

applyDamping(dt)

Apply damping, see http://code.google.com/p/bullet/issues/detail?id=74 for details.

Parameters:
Name Type Description
dt number

Current time step.

Source:
src/physics/p2/Body.js line 525

applyForce(force, worldX, worldY)

Apply force to a world point.

This could for example be a point on the RigidBody surface. Applying force this way will add to Body.force and Body.angularForce.

Parameters:
Name Type Description
force Float32Array | Array

The force vector to add.

worldX number

The world x point to apply the force on.

worldY number

The world y point to apply the force on.

Source:
src/physics/p2/Body.js line 573

applyImpulse(impulse, worldX, worldY)

Apply impulse to a point relative to the body. This could for example be a point on the Body surface. An impulse is a force added to a body during a short period of time (impulse = force * time). Impulses will be added to Body.velocity and Body.angularVelocity.

Parameters:
Name Type Description
impulse Float32Array | Array

The impulse vector to add, oriented in world space.

worldX number

A point relative to the body in world space. If not given, it is set to zero and all of the impulse will be exerted on the center of mass.

worldY number

A point relative to the body in world space. If not given, it is set to zero and all of the impulse will be exerted on the center of mass.

Source:
src/physics/p2/Body.js line 538

applyImpulseLocal(impulse, localX, localY)

Apply impulse to a point local to the body.

This could for example be a point on the Body surface. An impulse is a force added to a body during a short period of time (impulse = force * time). Impulses will be added to Body.velocity and Body.angularVelocity.

Parameters:
Name Type Description
impulse Float32Array | Array

The impulse vector to add, oriented in local space.

localX number

A local point on the body.

localY number

A local point on the body.

Source:
src/physics/p2/Body.js line 555

clearCollision( [clearGroup] [, clearMask] [, shape])

Clears the collision data from the shapes in this Body. Optionally clears Group and/or Mask.

Parameters:
Name Type Argument Default Description
clearGroup boolean <optional>
true

Clear the collisionGroup value from the shape/s?

clearMask boolean <optional>
true

Clear the collisionMask value from the shape/s?

shape p2.Shape <optional>

An optional Shape. If not provided the collision data will be cleared from all Shapes in this Body.

Source:
src/physics/p2/Body.js line 329

clearShapes()

Removes all Shapes from this Body.

Source:
src/physics/p2/Body.js line 1011

collides(group [, callback] [, callbackContext] [, shape])

Adds the given CollisionGroup, or array of CollisionGroups, to the list of groups that this body will collide with and updates the collision masks.

Parameters:
Name Type Argument Description
group Phaser.Physics.CollisionGroup | array

The Collision Group or Array of Collision Groups that this Bodies shapes will collide with.

callback function <optional>

Optional callback that will be triggered when this Body impacts with the given Group.

callbackContext object <optional>

The context under which the callback will be called.

shape p2.Shape <optional>

An optional Shape. If not provided the collision mask will be added to all Shapes in this Body.

Source:
src/physics/p2/Body.js line 443

createBodyCallback(object, callback, callbackContext)

Sets a callback to be fired any time a shape in this Body impacts with a shape in the given Body. The impact test is performed against body.id values. The callback will be sent 4 parameters: This body, the body that impacted, the Shape in this body and the shape in the impacting body. Note that the impact event happens after collision resolution, so it cannot be used to prevent a collision from happening. It also happens mid-step. So do not destroy a Body during this callback, instead set safeDestroy to true so it will be killed on the next preUpdate.

Parameters:
Name Type Description
object Phaser.Sprite | Phaser.TileSprite | Phaser.Physics.P2.Body | p2.Body

The object to send impact events for.

callback function

The callback to fire on impact. Set to null to clear a previously set callback.

callbackContext object

The context under which the callback will fire.

Source:
src/physics/p2/Body.js line 181

createGroupCallback(group, callback, callbackContext)

Sets a callback to be fired any time this Body impacts with the given Group. The impact test is performed against shape.collisionGroup values. The callback will be sent 4 parameters: This body, the body that impacted, the Shape in this body and the shape in the impacting body. This callback will only fire if this Body has been assigned a collision group. Note that the impact event happens after collision resolution, so it cannot be used to prevent a collision from happening. It also happens mid-step. So do not destroy a Body during this callback, instead set safeDestroy to true so it will be killed on the next preUpdate.

Parameters:
Name Type Description
group Phaser.Physics.CollisionGroup

The Group to send impact events for.

callback function

The callback to fire on impact. Set to null to clear a previously set callback.

callbackContext object

The context under which the callback will fire.

Source:
src/physics/p2/Body.js line 222

destroy()

Destroys this Body and all references it holds to other objects.

Source:
src/physics/p2/Body.js line 979

getCollisionMask()

Gets the collision bitmask from the groups this body collides with.

Source:
src/physics/p2/Body.js line 250
Returns:

The bitmask.

Type
number

getVelocityAtPoint(result, relativePoint)

Gets the velocity of a point in the body.

Parameters:
Name Type Description
result Array

A vector to store the result in.

relativePoint Array

A world oriented vector, indicating the position of the point to get the velocity from.

Source:
src/physics/p2/Body.js line 510
Returns:

The result vector.

Type
Array

loadPolygon(key, object [, scale])

Reads the shape data from a physics data file stored in the Game.Cache and adds it as a polygon to this Body.

As well as reading the data from the Cache you can also pass null as the first argument and a physics data object as the second. When doing this you must ensure the structure of the object is correct in advance.

For more details see the format of the Lime / Corona Physics Editor export.

Parameters:
Name Type Argument Default Description
key string

The key of the Physics Data file as stored in Game.Cache. Alternatively set to null and pass the data as the 2nd argument.

object string | object

The key of the object within the Physics data file that you wish to load the shape data from, or if key is null pass the actual physics data object itself as this parameter.

scale number <optional>
1

Optionally resize the loaded polygon.

Source:
src/physics/p2/Body.js line 1477
Returns:

True on success, else false.

Type
boolean

moveBackward(speed)

Moves the Body backwards based on its current angle and the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move backwards.

Source:
src/physics/p2/Body.js line 713

moveDown(speed)

If this Body is dynamic then this will move it down by setting its y velocity to the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move down, in pixels per second.

Source:
src/physics/p2/Body.js line 845

moveForward(speed)

Moves the Body forwards based on its current angle and the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move forwards.

Source:
src/physics/p2/Body.js line 695

moveLeft(speed)

If this Body is dynamic then this will move it to the left by setting its x velocity to the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move to the left, in pixels per second.

Source:
src/physics/p2/Body.js line 803

moveRight(speed)

If this Body is dynamic then this will move it to the right by setting its x velocity to the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move to the right, in pixels per second.

Source:
src/physics/p2/Body.js line 817

moveUp(speed)

If this Body is dynamic then this will move it up by setting its y velocity to the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move up, in pixels per second.

Source:
src/physics/p2/Body.js line 831

<protected> postUpdate()

Internal method. This is called directly before the sprites are sent to the renderer and after the update function has finished.

Source:
src/physics/p2/Body.js line 878

<protected> preUpdate()

Internal method. This is called directly before the sprites are sent to the renderer and after the update function has finished.

Source:
src/physics/p2/Body.js line 859

removeCollisionGroup(group [, clearCallback] [, shape])

Removes the given CollisionGroup, or array of CollisionGroups, from the list of groups that this body will collide with and updates the collision masks.

Parameters:
Name Type Argument Default Description
group Phaser.Physics.CollisionGroup | array

The Collision Group or Array of Collision Groups that this Bodies shapes should not collide with anymore.

clearCallback boolean <optional>
true

Clear the callback that will be triggered when this Body impacts with the given Group?

shape p2.Shape <optional>

An optional Shape. If not provided the updated collision mask will be added to all Shapes in this Body.

Source:
src/physics/p2/Body.js line 378

removeFromWorld()

Removes this physics body from the world.

Source:
src/physics/p2/Body.js line 964

removeShape(shape)

Remove a shape from the body. Will automatically update the mass properties and bounding radius.

Parameters:
Name Type Description
shape p2.Circle | p2.Rectangle | p2.Plane | p2.Line | p2.Particle

The shape to remove from the body.

Source:
src/physics/p2/Body.js line 1241
Returns:

True if the shape was found and removed, else false.

Type
boolean

reset(x, y [, resetDamping] [, resetMass])

Resets the Body force, velocity (linear and angular) and rotation. Optionally resets damping and mass.

Parameters:
Name Type Argument Default Description
x number

The new x position of the Body.

y number

The new x position of the Body.

resetDamping boolean <optional>
false

Resets the linear and angular damping.

resetMass boolean <optional>
false

Sets the Body mass back to 1.

Source:
src/physics/p2/Body.js line 904

reverse(speed)

Applies a force to the Body that causes it to 'thrust' backwards (in reverse), based on its current angle and the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should reverse.

Source:
src/physics/p2/Body.js line 785

rotateLeft(speed)

This will rotate the Body by the given speed to the left (counter-clockwise).

Parameters:
Name Type Description
speed number

The speed at which it should rotate.

Source:
src/physics/p2/Body.js line 669

rotateRight(speed)

This will rotate the Body by the given speed to the left (clockwise).

Parameters:
Name Type Description
speed number

The speed at which it should rotate.

Source:
src/physics/p2/Body.js line 682

setCircle(radius [, offsetX] [, offsetY] [, rotation])

Clears any previously set shapes. Then creates a new Circle shape and adds it to this Body. If this Body had a previously set Collision Group you will need to re-apply it to the new Shape this creates.

Parameters:
Name Type Argument Default Description
radius number

The radius of this circle (in pixels)

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1258

setCollisionGroup(group [, shape])

Sets the given CollisionGroup to be the collision group for all shapes in this Body, unless a shape is specified. This also resets the collisionMask.

Parameters:
Name Type Argument Description
group Phaser.Physics.CollisionGroup

The Collision Group that this Bodies shapes will use.

shape p2.Shape <optional>

An optional Shape. If not provided the collision group will be added to all Shapes in this Body.

Source:
src/physics/p2/Body.js line 300

setMaterial(material [, shape])

Adds the given Material to all Shapes that belong to this Body. If you only wish to apply it to a specific Shape in this Body then provide that as the 2nd parameter.

Parameters:
Name Type Argument Description
material Phaser.Physics.P2.Material

The Material that will be applied.

shape p2.Shape <optional>

An optional Shape. If not provided the Material will be added to all Shapes in this Body.

Source:
src/physics/p2/Body.js line 1323

setRectangle( [width] [, height] [, offsetX] [, offsetY] [, rotation])

Clears any previously set shapes. The creates a new Rectangle shape at the given size and offset, and adds it to this Body. If you wish to create a Rectangle to match the size of a Sprite or Image see Body.setRectangleFromSprite. If this Body had a previously set Collision Group you will need to re-apply it to the new Shape this creates.

Parameters:
Name Type Argument Default Description
width number <optional>
16

The width of the rectangle in pixels.

height number <optional>
16

The height of the rectangle in pixels.

offsetX number <optional>
0

Local horizontal offset of the shape relative to the body center of mass.

offsetY number <optional>
0

Local vertical offset of the shape relative to the body center of mass.

rotation number <optional>
0

Local rotation of the shape relative to the body center of mass, specified in radians.

Source:
src/physics/p2/Body.js line 1277
Returns:

The Rectangle shape that was added to the Body.

Type
p2.Rectangle

setRectangleFromSprite( [sprite])

Clears any previously set shapes. Then creates a Rectangle shape sized to match the dimensions and orientation of the Sprite given. If no Sprite is given it defaults to using the parent of this Body. If this Body had a previously set Collision Group you will need to re-apply it to the new Shape this creates.

Parameters:
Name Type Argument Description
sprite Phaser.Sprite | Phaser.Image <optional>

The Sprite on which the Rectangle will get its dimensions.

Source:
src/physics/p2/Body.js line 1302
Returns:

The Rectangle shape that was added to the Body.

Type
p2.Rectangle

setZeroDamping()

Sets the Body damping and angularDamping to zero.

Source:
src/physics/p2/Body.js line 628

setZeroForce()

Sets the force on the body to zero.

Source:
src/physics/p2/Body.js line 591

setZeroRotation()

If this Body is dynamic then this will zero its angular velocity.

Source:
src/physics/p2/Body.js line 603

setZeroVelocity()

If this Body is dynamic then this will zero its velocity on both axis.

Source:
src/physics/p2/Body.js line 615

shapeChanged()

Updates the debug draw if any body shapes change.

Source:
src/physics/p2/Body.js line 1348

thrust(speed)

Applies a force to the Body that causes it to 'thrust' forwards, based on its current angle and the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should thrust.

Source:
src/physics/p2/Body.js line 731

thrustLeft(speed)

Applies a force to the Body that causes it to 'thrust' to the left, based on its current angle and the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move to the left.

Source:
src/physics/p2/Body.js line 749

thrustRight(speed)

Applies a force to the Body that causes it to 'thrust' to the right, based on its current angle and the given speed. The speed is represented in pixels per second. So a value of 100 would move 100 pixels in 1 second (1000ms).

Parameters:
Name Type Description
speed number

The speed at which it should move to the right.

Source:
src/physics/p2/Body.js line 767

toLocalFrame(out, worldPoint)

Transform a world point to local body frame.

Parameters:
Name Type Description
out Float32Array | Array

The vector to store the result in.

worldPoint Float32Array | Array

The input world vector.

Source:
src/physics/p2/Body.js line 641

toWorldFrame(out, localPoint)

Transform a local point to world frame.

Parameters:
Name Type Description
out Array

The vector to store the result in.

localPoint Array

The input local vector.

Source:
src/physics/p2/Body.js line 655

updateCollisionMask( [shape])

Updates the collisionMask.

Parameters:
Name Type Argument Description
shape p2.Shape <optional>

An optional Shape. If not provided the collision group will be added to all Shapes in this Body.

Source:
src/physics/p2/Body.js line 275

phaser-ce@2.20.0 is on GitHub and NPM

Documentation generated by JSDoc 3.6.7 on 2022-12-10 using Tomorrow.