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...