var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update });
function preload() {
game.load.image('atari', 'assets/sprites/atari130xe.png');
game.load.image('sky', 'assets/skies/sunset.png');
}
var sprite;
var cursors;
function create() {
game.add.image(0, 0, 'sky');
// Enable p2 physics
game.physics.startSystem(Phaser.Physics.P2JS);
game.physics.p2.gravity.y = 100;
// Add a sprite
sprite = game.add.sprite(200, 200, 'atari');
// Enable if for physics. This creates a default rectangular body.
game.physics.p2.enable(sprite);
var spriteMaterial = game.physics.p2.createMaterial('spriteMaterial', sprite.body);
var worldMaterial = game.physics.p2.createMaterial('worldMaterial');
// 4 trues = the 4 faces of the world in left, right, top, bottom order
game.physics.p2.setWorldMaterial(worldMaterial, true, true, true, true);
// Here is the contact material. It's a combination of 2 materials, so whenever shapes with
// those 2 materials collide it uses the following settings.
// A single material can be used by as many different sprites as you like.
var contactMaterial = game.physics.p2.createContactMaterial(spriteMaterial, worldMaterial);
contactMaterial.friction = 0.3; // Friction to use in the contact of these two materials.
contactMaterial.restitution = 1.0; // Restitution (i.e. how bouncy it is!) to use in the contact of these two materials.
contactMaterial.stiffness = 1e7; // Stiffness of the resulting ContactEquation that this ContactMaterial generate.
contactMaterial.relaxation = 3; // Relaxation of the resulting ContactEquation that this ContactMaterial generate.
contactMaterial.frictionStiffness = 1e7; // Stiffness of the resulting FrictionEquation that this ContactMaterial generate.
contactMaterial.frictionRelaxation = 3; // Relaxation of the resulting FrictionEquation that this ContactMaterial generate.
contactMaterial.surfaceVelocity = 0; // Will add surface velocity to this material. If bodyA rests on top if bodyB, and the surface velocity is positive, bodyA will slide to the right.
text = game.add.text(20, 20, 'move with arrow keys', { fill: '#ffffff' });
cursors = game.input.keyboard.createCursorKeys();
}
function update() {
if (cursors.left.isDown)
{
sprite.body.moveLeft(200);
}
else if (cursors.right.isDown)
{
sprite.body.moveRight(200);
}
if (cursors.up.isDown)
{
sprite.body.moveUp(200);
}
else if (cursors.down.isDown)
{
sprite.body.moveDown(200);
}
}