class Example extends Phaser.Scene { preload () { this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.image('ball', 'assets/sprites/shinyball.png'); } create () { this.matter.world.setBounds(); // Our two bodies which will be connected by a constraint (aka a Joint or a Spring) const ballA = this.matter.add.image(420, 100, 'ball', null, { shape: 'circle', friction: 0.005, restitution: 0.6 }); const ballB = this.matter.add.image(400, 200, 'ball', null, { shape: 'circle', friction: 0.005, restitution: 0.6 }); // You can create a constraint between the two bodies using a Factory function. // The value 100 is the resting length and 0.2 is the stiffness of the constraint. this.matter.add.constraint(ballA, ballB, 100, 0.2); // To help those of you more used to the Box2D syntax you can use // add.joint or add.spring instead (with the exact same parameters) // this.matter.add.spring(ballA, ballB, 100, 0.2); // this.matter.add.joint(ballA, ballB, 100, 0.2); // Or you can create a native Matter constraint: // var constraint = Phaser.Physics.Matter.Matter.Constraint.create({ // bodyA: ballA.body, // bodyB: ballB.body, // length: 100, // stiffness: 0.2 // }); // Which you then have to add to the world yourself: // this.matter.world.add(constraint); this.matter.add.mouseSpring(); } } const config = { type: Phaser.AUTO, width: 800, height: 600, backgroundColor: '#1b1464', parent: 'phaser-example', physics: { default: 'matter' }, scene: Example }; const game = new Phaser.Game(config);
Scan to open on your mobile device
class Example extends Phaser.Scene { preload () { this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.image('ball', 'assets/sprites/shinyball.png'); } create () { this.matter.world.setBounds(); // Our two bodies which will be connected by a constraint (aka a Joint or a Spring) const ballA = this.matter.add.image(420, 100, 'ball', null, { shape: 'circle', friction: 0.005, restitution: 0.6 }); const ballB = this.matter.add.image(400, 200, 'ball', null, { shape: 'circle', friction: 0.005, restitution: 0.6 }); // You can create a constraint between the two bodies using a Factory function. // The value 100 is the resting length and 0.2 is the stiffness of the constraint. this.matter.add.constraint(ballA, ballB, 100, 0.2); // To help those of you more used to the Box2D syntax you can use // add.joint or add.spring instead (with the exact same parameters) // this.matter.add.spring(ballA, ballB, 100, 0.2); // this.matter.add.joint(ballA, ballB, 100, 0.2); // Or you can create a native Matter constraint: // var constraint = Phaser.Physics.Matter.Matter.Constraint.create({ // bodyA: ballA.body, // bodyB: ballB.body, // length: 100, // stiffness: 0.2 // }); // Which you then have to add to the world yourself: // this.matter.world.add(constraint); this.matter.add.mouseSpring(); } } const config = { type: Phaser.AUTO, width: 800, height: 600, backgroundColor: '#1b1464', parent: 'phaser-example', physics: { default: 'matter' }, scene: Example }; const game = new Phaser.Game(config);