Creates a body using the supplied physics data, as provided by a JSON file.
The data file should be loaded as JSON:
preload ()
{
this.load.json('ninjas', 'assets/ninjas.json);
}
create ()
{
const ninjaShapes = this.cache.json.get('ninjas');
this.matter.add.fromJSON(400, 300, ninjaShapes.shinobi);
}
Do not pass the entire JSON file to this method, but instead pass one of the shapes contained within it.
If you pas in an options
object, any settings in there will override those in the config object.
The structure of the JSON file is as follows:
{
'generator_info': // The name of the application that created the JSON data
'shapeName': {
'type': // The type of body
'label': // Optional body label
'vertices': // An array, or an array of arrays, containing the vertex data in x/y object pairs
}
}
At the time of writing, only the Phaser Physics Tracer App exports in this format.
- Since: 3.22.0
- Source: src/physics/matter-js/PhysicsJSONParser.js (Line 10)
Methods
-
<static> parseBody(x, y, config [, options])
-
Parses a body element from the given JSON data.
Parameters:
Name Type Argument Description x
number The horizontal world location of the body.
y
number The vertical world location of the body.
config
object The body configuration data.
options
Phaser.Types.Physics.Matter.MatterBodyConfig <optional>
An optional Body configuration object that is used to set initial Body properties on creation.
- Since: 3.22.0
- Source: src/physics/matter-js/PhysicsJSONParser.js (Line 53)
Returns:
A Matter JS Body.
- Type
- MatterJS.BodyType