Matter.World

Extends Composite

Defined in: src/body/World.js:1

The Matter.World module contains methods for creating and manipulating the world composite. A Matter.World is a Matter.Composite body, which is a collection of Matter.Body, Matter.Constraint and other Matter.Composite. A Matter.World has a few additional properties including gravity and bounds. It is important to use the functions in the Matter.Composite module to modify the world composite, rather than directly modifying its properties. There are also a few methods here that alias those in Matter.Composite for easier readability.

See the included usage examples.

Methods

Matter.World.add

(world, object)

Composite

Inherited from Composite but overwritten in

An alias for Composite.add

Parameters

Returns

CompositeThe original world with the objects added

@ src/body/World.js:99

Matter.World.addBody

(world, body)

World

Inherited from Composite but overwritten in

An alias for Composite.addBody

Parameters

Returns

WorldThe original world with the body added

@ src/body/World.js:131

Matter.World.addComposite

(world, composite)

World

Inherited from Composite but overwritten in

An alias for Composite.addComposite

Parameters

Returns

WorldThe original world with the objects from composite added

@ src/body/World.js:123

Matter.World.addConstraint

(world, constraint)

World

Inherited from Composite but overwritten in

An alias for Composite.addConstraint

Parameters

Returns

WorldThe original world with the constraint added

@ src/body/World.js:139

Matter.Composite.allBodies

(composite)

Body[]

Inherited from Composite:

Returns all bodies in the given composite, including all bodies in its children, recursively.

Parameters

Returns

Body[]All the bodies

@ src/body/Composite.js:342

Matter.Composite.allComposites

(composite)

Composite[]

Inherited from Composite:

Returns all composites in the given composite, including all composites in its children, recursively.

Parameters

Returns

Composite[]All the composites

@ src/body/Composite.js:372

Matter.Composite.allConstraints

(composite)

Constraint[]

Inherited from Composite:

Returns all constraints in the given composite, including all constraints in its children, recursively.

Parameters

Returns

Constraint[]All the constraints

@ src/body/Composite.js:357

Matter.Composite.bounds

(composite)

Bounds

Inherited from Composite:

Returns the union of the bounds of all of the composite's bodies.

Parameters

The composite.

Returns

BoundsThe composite bounds.

@ src/body/Composite.js:536

Matter.World.clear

(world, keepStatic)

Inherited from Composite but overwritten in

An alias for Composite.clear

Parameters

@ src/body/World.js:116

Matter.World.create

(options)

World

Inherited from Composite but overwritten in

Creates a new world composite. The options parameter is an object that specifies any properties you wish to override the defaults. See the properties section below for detailed information on what you can pass via the options object.

Parameters

Returns

WorldA new world

@ src/body/World.js:24

Matter.Composite.get

(composite, id, type)

Object

Inherited from Composite:

Searches the composite recursively for an object matching the type and id supplied, null if not found.

Parameters

Returns

ObjectThe requested object, if found

@ src/body/Composite.js:387

Matter.Composite.move

(compositeA, objects, compositeB)

Composite

Inherited from Composite:

Moves the given object(s) from compositeA to compositeB (equal to a remove followed by an add).

Parameters

  • compositeA CompositeA
  • compositeB CompositeB

Returns

CompositeReturns compositeA

@ src/body/Composite.js:421

Matter.Composite.rebase

(composite)

Composite

Inherited from Composite:

Assigns new ids for all objects in the composite, recursively.

Parameters

Returns

CompositeReturns composite

@ src/body/Composite.js:435

Matter.World.remove

(world, object, [deep=false])

Composite

Inherited from Composite but overwritten in

An alias for Composite.remove

Parameters

Returns

CompositeThe original world with the objects removed

@ src/body/World.js:107

Matter.Composite.removeBody

(composite, body, [deep=false])

Compositeprivate

Inherited from Composite:

Removes a body from the given composite, and optionally searching its children recursively.

Parameters

Returns

CompositeThe original composite with the body removed

@ src/body/Composite.js:223

Matter.Composite.removeBodyAt

(composite, position)

Compositeprivate

Inherited from Composite:

Removes a body from the given composite.

Parameters

Returns

CompositeThe original composite with the body removed

@ src/body/Composite.js:248

Matter.Composite.removeComposite

(compositeA, compositeB, [deep=false])

Compositeprivate

Inherited from Composite:

Removes a composite from the given composite, and optionally searching its children recursively.

Parameters

Returns

CompositeThe original compositeA with the composite removed

@ src/body/Composite.js:170

Matter.Composite.removeCompositeAt

(composite, position)

Compositeprivate

Inherited from Composite:

Removes a composite from the given composite.

Parameters

Returns

CompositeThe original composite with the composite removed

@ src/body/Composite.js:195

Matter.Composite.removeConstraint

(composite, constraint, [deep=false])

Compositeprivate

Inherited from Composite:

Removes a constraint from the given composite, and optionally searching its children recursively.

Parameters

Returns

CompositeThe original composite with the constraint removed

@ src/body/Composite.js:276

Matter.Composite.removeConstraintAt

(composite, position)

Compositeprivate

Inherited from Composite:

Removes a body from the given composite.

Parameters

Returns

CompositeThe original composite with the constraint removed

@ src/body/Composite.js:300

Matter.Composite.rotate

(composite, rotation, point, [recursive=true])

Inherited from Composite:

Rotates all children in the composite by a given angle about the given point, without imparting any angular velocity.

Parameters

  • [recursive=true] Booloptional

@ src/body/Composite.js:475

Matter.Composite.scale

(composite, scaleX, scaleY, point, [recursive=true])

Inherited from Composite:

Scales all children in the composite, including updating physical properties (mass, area, axes, inertia), from a world-space point.

Parameters

  • [recursive=true] Booloptional

@ src/body/Composite.js:506

Matter.Composite.setModified

(composite, isModified, [updateParents=false], [updateChildren=false])

Inherited from Composite:

Sets the composite's isModified flag. If updateParents is true, all parents will be set (default: false). If updateChildren is true, all children will be set (default: false).

Parameters

  • [updateParents=false] Booleanoptional
  • [updateChildren=false] Booleanoptional

@ src/body/Composite.js:44

Matter.Composite.translate

(composite, translation, [recursive=true])

Inherited from Composite:

Translates all children in the composite by a given vector relative to their current positions, without imparting any velocity.

Parameters

  • [recursive=true] Booloptional

@ src/body/Composite.js:455

Item Index

Methods

Properties

The following properties are specified for objects created by <span class="prefix">Matter.</span>.create and for objects passed to it via the options argument.

Events

Properties

The following properties are specified for objects created by Matter.World.create and for objects passed to it via the options argument.

Composite.bodies

Body[]

Inherited from Composite:

An array of Body that are direct children of this composite. To add or remove bodies you should use Composite.add and Composite.remove methods rather than directly modifying this property. If you wish to recursively find all descendants, you should use the Composite.allBodies method.

Default: []

@ src/body/Composite.js:648

World.bounds

Bounds

A Bounds object that defines the world bounds for collision detection.

Default: { min: { x: -Infinity, y: -Infinity }, max: { x: Infinity, y: Infinity } }

@ src/body/World.js:88

Composite.composites

Composite[]

Inherited from Composite:

An array of Composite that are direct children of this composite. To add or remove composites you should use Composite.add and Composite.remove methods rather than directly modifying this property. If you wish to recursively find all descendants, you should use the Composite.allComposites method.

Default: []

@ src/body/Composite.js:668

Composite.constraints

Constraint[]

Inherited from Composite:

An array of Constraint that are direct children of this composite. To add or remove constraints you should use Composite.add and Composite.remove methods rather than directly modifying this property. If you wish to recursively find all descendants, you should use the Composite.allConstraints method.

Default: []

@ src/body/Composite.js:658

World.gravity

Object

The gravity to apply on the world.

@ src/body/World.js:57

World.gravity.scale

Object

The gravity scale factor.

Default: 0.001

@ src/body/World.js:80

World.gravity.x

Object

The gravity x component.

Default: 0

@ src/body/World.js:64

World.gravity.y

Object

The gravity y component.

Default: 1

@ src/body/World.js:72

Composite.id

Number

Inherited from Composite:

An integer Number uniquely identifying number generated in Composite.create by Common.nextId.

@ src/body/Composite.js:606

Composite.isModified

Boolean

Inherited from Composite:

A flag that specifies whether the composite has been modified during the current step. Most Matter.Composite methods will automatically set this flag to true to inform the engine of changes to be handled. If you need to change it manually, you should use the Composite.setModified method.

Default: false

@ src/body/Composite.js:630

Composite.label

String

Inherited from Composite:

An arbitrary String name to help the user identify and manage composites.

Default: "Composite"

@ src/body/Composite.js:622

Composite.parent

Composite

Inherited from Composite:

The Composite that is the parent of this composite. It is automatically managed by the Matter.Composite methods.

Default: null

@ src/body/Composite.js:640

Composite.plugin

Inherited from Composite:

An object reserved for storing plugin-specific properties.

@ src/body/Composite.js:678

Composite.type

String

Inherited from Composite:

A String denoting the type of object.

Default: "composite"

@ src/body/Composite.js:613

Events

The following events are emitted by objects created by <span class="prefix">Matter.</span>World.create to objects that have subscribed using Matter.Events.on.

Events.on(Composite, "afterAdd", callback)

Inherited from Composite:

Fired when a call to Composite.add is made, after objects have been added.

Event Payload:

An event object

  • object

The object(s) that have been added (may be a single body, constraint, composite or a mixed array of these)

  • source

The source object of the event

  • name

The name of the event

@ src/body/Composite.js:570

Events.on(Composite, "afterRemove", callback)

Inherited from Composite:

Fired when a call to Composite.remove is made, after objects have been removed.

Event Payload:

An event object

  • object

The object(s) that have been removed (may be a single body, constraint, composite or a mixed array of these)

  • source

The source object of the event

  • name

The name of the event

@ src/body/Composite.js:590

Events.on(Composite, "beforeAdd", callback)

Inherited from Composite:

Fired when a call to Composite.add is made, before objects have been added.

Event Payload:

An event object

  • object

The object(s) to be added (may be a single body, constraint, composite or a mixed array of these)

  • source

The source object of the event

  • name

The name of the event

@ src/body/Composite.js:560

Events.on(Composite, "beforeRemove", callback)

Inherited from Composite:

Fired when a call to Composite.remove is made, before objects have been removed.

Event Payload:

An event object

  • object

The object(s) to be removed (may be a single body, constraint, composite or a mixed array of these)

  • source

The source object of the event

  • name

The name of the event

@ src/body/Composite.js:580