Namespace: Collision

Phaser.Physics.Matter.Components. Collision

Contains methods for changing the collision filter of a Matter Body. Should be used as a mixin and not called directly.

Since: 3.0.0
Source: src/physics/matter-js/components/Collision.js (Line 7)

Methods


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
Source: src/physics/matter-js/components/Collision.js (Line 54)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject

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
Source: src/physics/matter-js/components/Collision.js (Line 15)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject

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
Source: src/physics/matter-js/components/Collision.js (Line 34)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject

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
Source: src/physics/matter-js/components/Collision.js (Line 87)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject

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
Source: src/physics/matter-js/components/Collision.js (Line 127)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject

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
Source: src/physics/matter-js/components/Collision.js (Line 107)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject

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
Source: src/physics/matter-js/components/Collision.js (Line 147)
Returns:

This Game Object.

Type
Phaser.GameObjects.GameObject