phaser_carDemo
phaser, car, demo, springs, constraints, level
by Anov Siradj
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/phaser/2.0.5/phaser.min.js"></script>
CSS
body,html
{
margin:0px;
}
JavaScript
var game;
var w;
var h;
var cursor;
w = window.innerWidth;
h = window.innerHeight;
game = new Phaser.Game(w, h, Phaser.AUTO, '', { preload: preload, create: create, update: update });
function preload()
{
initPhaserP2_debug();
}
function create()
{
// adding P2 physics to the game
game.physics.startSystem(Phaser.Physics.P2JS);
// setting gravity
game.physics.p2.gravity.y = 250;
game.physics.p2.restitution = 0.4;
game.stage.backgroundColor = '#DDDDDD';
// setting gravity
game.physics.p2.gravity.y = 250;
game.physics.p2.friction= 5;
cursors = game.input.keyboard.createCursorKeys();
drag();
initCar();
initLevel();
}
function update()
{
updatePhaserP2_debug();
updateCar();
updateJump();
}
//PHASER P2 DEBUG
//#VERSION 0.1
var line;
var springsArray = [];
var constraintsArray = [];
var target;
var mousePointer;
var mouseConstraint;
function initPhaserP2_debug()
{
game.load.crossOrigin = true;
game.load.image('pixel', 'http://i.imgur.com/AwfibOk.png');
game.load.image('spring', 'http://i.imgur.com/GiqTEwo.png');
line = new Phaser.Line(0, 0, 200, 200);
//DRAG
game.input.onDown.add(click, this);
game.input.onUp.add(stopDrag, this);
}
function drag()
{
//MOUSE TARGET
mousePointer = game.add.sprite(200, 200);
game.physics.p2.enable(mousePointer);
mousePointer.body.setCircle(5);
mousePointer.body.debug = false;
mousePointer.body.mass = 0.01;
mousePointer.body.kinematic = true;
}
function click(pointer) {
var bodies = game.physics.p2.hitTest(pointer.position);
if (bodies.length != 0)
{
target = bodies[0];
mouseConstraint = game.physics.p2.createRevoluteConstraint(mousePointer, [0,0],target, [ 0, 0 ],100);
}
}
function stopDrag(pointer)
{
target = null;
game.physics.p2.removeConstraint(mouseConstraint)
}
function addPhaserP2_debug(P2_object,type)
{
if(type...