new TileBody(world, tile [, options])
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
world |
Phaser.Physics.Matter.World | The Matter world instance this body belongs to. |
|
tile |
Phaser.Tilemaps.Tile | The target tile that should have a Matter body. |
|
options |
Phaser.Types.Physics.Matter.MatterTileOptions |
<optional> |
Options to be used when creating the Matter body. |
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 16)
Extends
- Phaser.Events.EventEmitter
- Phaser.Physics.Matter.Components.Bounce
- Phaser.Physics.Matter.Components.Collision
- Phaser.Physics.Matter.Components.Friction
- Phaser.Physics.Matter.Components.Gravity
- Phaser.Physics.Matter.Components.Mass
- Phaser.Physics.Matter.Components.Sensor
- Phaser.Physics.Matter.Components.Sleep
- Phaser.Physics.Matter.Components.Static
Members
-
<readonly> centerOfMass :Phaser.Math.Vector2
-
The body's center of mass.
Calling this creates a new `Vector2 each time to avoid mutation.
If you only need to read the value and won't change it, you can get it from
GameObject.body.centerOfMass
.Type:
- Since: 3.10.0
- Inherited From:
- Source: src/physics/matter-js/components/Mass.js (Line 52)
-
tile :Phaser.Tilemaps.Tile
-
The tile object the body is associated with.
Type:
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 69)
-
world :Phaser.Physics.Matter.World
-
The Matter world the body exists within.
Type:
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 78)
Methods
-
addListener(event, fn [, context])
-
Add a listener for a given event.
Parameters:
Name Type Argument Default Description event
string | symbol The event name.
fn
function The listener function.
context
* <optional>
this The context to invoke the listener with.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 111)
Returns:
this
. -
destroy()
-
Removes the current body from the tile and the world.
- Since: 3.0.0
- Overrides:
- Source: src/physics/matter-js/MatterTileBody.js (Line 297)
Returns:
This TileBody object.
-
emit(event [, args])
-
Calls each of the listeners registered for a given event.
Parameters:
Name Type Argument Description event
string | symbol The event name.
args
* <optional>
<repeatable>
Additional arguments that will be passed to the event handler.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 86)
Returns:
true
if the event had listeners, elsefalse
.- Type
- boolean
-
eventNames()
-
Return an array listing the events for which the emitter has registered listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 55)
Returns:
- Type
- Array.<(string|symbol)>
-
isSensor()
-
Is the body belonging to this Game Object a sensor or not?
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Sensor.js (Line 33)
Returns:
true
if the body is a sensor, otherwisefalse
.- Type
- boolean
-
isStatic()
-
Returns
true
if the body is static, otherwisefalse
for a dynamic body.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Static.js (Line 34)
Returns:
true
if the body is static, otherwisefalse
.- Type
- boolean
-
listenerCount(event)
-
Return the number of listeners listening to a given event.
Parameters:
Name Type Description event
string | symbol The event name.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 75)
Returns:
The number of listeners.
- Type
- number
-
listeners(event)
-
Return the listeners registered for a given event.
Parameters:
Name Type Description event
string | symbol The event name.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 64)
Returns:
The registered listeners.
- Type
- Array.<function()>
-
off(event [, fn] [, context] [, once])
-
Remove the listeners of a given event.
Parameters:
Name Type Argument Description event
string | symbol The event name.
fn
function <optional>
Only remove the listeners that match this function.
context
* <optional>
Only remove the listeners that have this context.
once
boolean <optional>
Only remove one-time listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 151)
Returns:
this
. -
on(event, fn [, context])
-
Add a listener for a given event.
Parameters:
Name Type Argument Default Description event
string | symbol The event name.
fn
function The listener function.
context
* <optional>
this The context to invoke the listener with.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 98)
Returns:
this
. -
once(event, fn [, context])
-
Add a one-time listener for a given event.
Parameters:
Name Type Argument Default Description event
string | symbol The event name.
fn
function The listener function.
context
* <optional>
this The context to invoke the listener with.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 124)
Returns:
this
. -
removeAllListeners( [event])
-
Remove all listeners, or those of the specified event.
Parameters:
Name Type Argument Description event
string | symbol <optional>
The event name.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 165)
Returns:
this
. -
removeBody()
-
Removes the current body from the TileBody and from the Matter world
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 277)
Returns:
This TileBody object.
-
removeListener(event [, fn] [, context] [, once])
-
Remove the listeners of a given event.
Parameters:
Name Type Argument Description event
string | symbol The event name.
fn
function <optional>
Only remove the listeners that match this function.
context
* <optional>
Only remove the listeners that have this context.
once
boolean <optional>
Only remove one-time listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 137)
Returns:
this
. -
setAwake()
-
Wakes this Body if asleep.
- Since: 3.22.0
- Inherited From:
- Source: src/physics/matter-js/components/Sleep.js (Line 32)
Returns:
This Game Object.
-
setBody(body [, addToWorld])
-
Sets the current body to the given body. This will remove the previous body, if one already exists.
Parameters:
Name Type Argument Default Description body
MatterJS.BodyType The new Matter body to use.
addToWorld
boolean <optional>
true Whether or not to add the body to the Matter world.
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 245)
Returns:
This TileBody object.
-
setBounce(value)
-
Sets the restitution on the physics object.
Parameters:
Name Type Description value
number A Number that defines the restitution (elasticity) of the body. The value is always positive and is in the range (0, 1). A value of 0 means collisions may be perfectly inelastic and no bouncing may occur. A value of 0.8 means the body may bounce back with approximately 80% of its kinetic energy. Note that collision response is based on pairs of bodies, and that restitution values are combined with the following formula:
Math.max(bodyA.restitution, bodyB.restitution)
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Bounce.js (Line 15)
Returns:
This Game Object.
-
setCollidesWith(categories)
-
Sets the collision mask for this Game Object's Matter Body. Two Matter Bodies with different collision groups will only collide if each one includes the other's category in its mask based on a bitwise AND, i.e.
(categoryA & maskB) !== 0
and(categoryB & maskA) !== 0
are both true.Parameters:
Name Type Description categories
number | Array.<number> A unique category bitfield, or an array of them.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 54)
Returns:
This Game Object.
-
setCollisionCategory(value)
-
Sets the collision category of this Game Object's Matter Body. This number must be a power of two between 2^0 (= 1) and 2^31. Two bodies with different collision groups (see #setCollisionGroup) will only collide if their collision categories are included in their collision masks (see #setCollidesWith).
Parameters:
Name Type Description value
number Unique category bitfield.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 15)
Returns:
This Game Object.
-
setCollisionGroup(value)
-
Sets the collision group of this Game Object's Matter Body. If this is zero or two Matter Bodies have different values, they will collide according to the usual rules (see #setCollisionCategory and #setCollisionGroup). If two Matter Bodies have the same positive value, they will always collide; if they have the same negative value, they will never collide.
Parameters:
Name Type Description value
number Unique group index.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 34)
Returns:
This Game Object.
-
setDensity(value)
-
Sets density of the body.
Parameters:
Name Type Description value
number The new density of the body.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Mass.js (Line 35)
Returns:
This Game Object.
-
setFriction(value [, air] [, fstatic])
-
Sets new friction values for this Game Object's Matter Body.
Parameters:
Name Type Argument Description value
number The new friction of the body, between 0 and 1, where 0 allows the Body to slide indefinitely, while 1 allows it to stop almost immediately after a force is applied.
air
number <optional>
If provided, the new air resistance of the Body. The higher the value, the faster the Body will slow as it moves through space. 0 means the body has no air resistance.
fstatic
number <optional>
If provided, the new static friction of the Body. The higher the value (e.g. 10), the more force it will take to initially get the Body moving when it is nearly stationary. 0 means the body will never "stick" when it is nearly stationary.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Friction.js (Line 15)
Returns:
This Game Object.
-
setFrictionAir(value)
-
Sets a new air resistance for this Game Object's Matter Body. A value of 0 means the Body will never slow as it moves through space. The higher the value, the faster a Body slows when moving through space.
Parameters:
Name Type Description value
number The new air resistance for the Body.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Friction.js (Line 44)
Returns:
This Game Object.
-
setFrictionStatic(value)
-
Sets a new static friction for this Game Object's Matter Body. A value of 0 means the Body will never "stick" when it is nearly stationary. The higher the value (e.g. 10), the more force it will take to initially get the Body moving when it is nearly stationary.
Parameters:
Name Type Description value
number The new static friction for the Body.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Friction.js (Line 63)
Returns:
This Game Object.
-
setFromTileCollision( [options])
-
Sets the current body from the collision group associated with the Tile. This is typically set up in Tiled's collision editor.
Note: Matter doesn't support all shapes from Tiled. Rectangles and polygons are directly supported. Ellipses are converted into circle bodies. Polylines are treated as if they are closed polygons. If a tile has multiple shapes, a multi-part body will be created. Concave shapes are supported if poly-decomp library is included. Decomposition is not guaranteed to work for complex shapes (e.g. holes), so it's often best to manually decompose a concave polygon into multiple convex polygons yourself.
Parameters:
Name Type Argument Description options
Phaser.Types.Physics.Matter.MatterBodyTileOptions <optional>
Options to be used when creating the Matter body. See MatterJS.Body for a list of what Matter accepts.
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 148)
Returns:
This TileBody object.
-
setFromTileRectangle( [options])
-
Sets the current body to a rectangle that matches the bounds of the tile.
Parameters:
Name Type Argument Description options
Phaser.Types.Physics.Matter.MatterBodyTileOptions <optional>
Options to be used when creating the Matter body. See MatterJS.Body for a list of what Matter accepts.
- Since: 3.0.0
- Source: src/physics/matter-js/MatterTileBody.js (Line 122)
Returns:
This TileBody object.
-
setIgnoreGravity(value)
-
A togglable function for ignoring world gravity in real-time on the current body.
Parameters:
Name Type Description value
boolean Set to true to ignore the effect of world gravity, or false to not ignore it.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Gravity.js (Line 15)
Returns:
This Game Object.
-
setMass(value)
-
Sets the mass of the Game Object's Matter Body.
Parameters:
Name Type Description value
number The new mass of the body.
- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Mass.js (Line 18)
Returns:
This Game Object.
-
setOnCollide(callback)
-
The callback is sent a
Phaser.Types.Physics.Matter.MatterCollisionData
object.This does not change the bodies collision category, group or filter. Those must be set in addition to the callback.
Parameters:
Name Type Description callback
function The callback to invoke when this body starts colliding with another.
- Since: 3.22.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 87)
Returns:
This Game Object.
-
setOnCollideActive(callback)
-
The callback is sent a
Phaser.Types.Physics.Matter.MatterCollisionData
object.This does not change the bodies collision category, group or filter. Those must be set in addition to the callback.
Parameters:
Name Type Description callback
function The callback to invoke for the duration of this body colliding with another.
- Since: 3.22.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 127)
Returns:
This Game Object.
-
setOnCollideEnd(callback)
-
The callback is sent a
Phaser.Types.Physics.Matter.MatterCollisionData
object.This does not change the bodies collision category, group or filter. Those must be set in addition to the callback.
Parameters:
Name Type Description callback
function The callback to invoke when this body stops colliding with another.
- Since: 3.22.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 107)
Returns:
This Game Object.
-
setOnCollideWith(body, callback)
-
The callback is sent a reference to the other body, along with a
Phaser.Types.Physics.Matter.MatterCollisionData
object.This does not change the bodies collision category, group or filter. Those must be set in addition to the callback.
Parameters:
Name Type Description body
MatterJS.Body | Array.<MatterJS.Body> The body, or an array of bodies, to test for collisions with.
callback
function The callback to invoke when this body collides with the given body or bodies.
- Since: 3.22.0
- Inherited From:
- Source: src/physics/matter-js/components/Collision.js (Line 147)
Returns:
This Game Object.
-
setSensor(value)
-
Set the body belonging to this Game Object to be a sensor. Sensors trigger collision events, but don't react with colliding body physically.
Parameters:
Name Type Description value
boolean true
to set the body as a sensor, orfalse
to disable it.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Sensor.js (Line 15)
Returns:
This Game Object.
-
setSleepEndEvent(value)
-
Enables or disables the Sleep End event for this body.
Parameters:
Name Type Description value
boolean true
to enable the sleep event, orfalse
to disable it.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Sleep.js (Line 117)
Returns:
This Game Object.
-
setSleepEvents(start, end)
-
Enable sleep and wake events for this body.
By default when a body goes to sleep, or wakes up, it will not emit any events.
The events are emitted by the Matter World instance and can be listened to via the
SLEEP_START
andSLEEP_END
events.Parameters:
Name Type Description start
boolean true
if you want the sleep start event to be emitted for this body.end
boolean true
if you want the sleep end event to be emitted for this body.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Sleep.js (Line 64)
Returns:
This Game Object.
-
setSleepStartEvent(value)
-
Enables or disables the Sleep Start event for this body.
Parameters:
Name Type Description value
boolean true
to enable the sleep event, orfalse
to disable it.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Sleep.js (Line 88)
Returns:
This Game Object.
-
setSleepThreshold( [value])
-
Sets the number of updates in which this body must have near-zero velocity before it is set as sleeping (if sleeping is enabled by the engine).
Parameters:
Name Type Argument Default Description value
number <optional>
60 A
Number
that defines the number of updates in which this body must have near-zero velocity before it is set as sleeping.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Sleep.js (Line 45)
Returns:
This Game Object.
-
setStatic(value)
-
Changes the physics body to be either static
true
or dynamicfalse
.Parameters:
Name Type Description value
boolean true
to set the body as being static, orfalse
to make it dynamic.- Since: 3.0.0
- Inherited From:
- Source: src/physics/matter-js/components/Static.js (Line 17)
Returns:
This Game Object.
-
setToSleep()
-
Sets this Body to sleep.
- Since: 3.22.0
- Inherited From:
- Source: src/physics/matter-js/components/Sleep.js (Line 19)
Returns:
This Game Object.
-
shutdown()
-
Removes all listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 31)