Tunnelling

p2js tunnelling

by Gaurav D

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.6.2/phaser.min.js"></script>
<div id="phaser"></div>

JavaScript

var game = new Phaser.Game(1000, 1000, Phaser.CANVAS, 'phaser', {
  preload: preload,
  create: create,
  update: update
});


function preload() {}

function create() {

  this.game.stage.disableVisibilityChange = true;
  this.physics.startSystem(Phaser.Physics.P2JS);
  this.physics.p2.restitution = 0.63;
  this.physics.p2.gravity.y = 3000;
  this.physics.p2.gravity.x = 0;

  this.ballCollisionGroup = this.game.physics.p2.createCollisionGroup();
  this.hoopCollisionGroup = this.game.physics.p2.createCollisionGroup();
  this.groundCollisionGroup = this.game.physics.p2.createCollisionGroup();

  this.ball = this.game.add.sprite(-120, 500);
  this.game.physics.p2.enable(this.ball);
  this.ball.body.setCircle(23);
  this.ball.body.setCollisionGroup(this.ballCollisionGroup);
  this.ball.body.collides([this.hoopCollisionGroup, this.groundCollisionGroup]);
  this.ball.body.debug = true;


  this.hoop_left = this.game.add.sprite(565, 294);
  this.game.physics.p2.enable(this.hoop_left);
  this.hoop_left.body.setRectangle(15, 10);
  this.hoop_left.body.static = true;
  this.hoop_left.body.setCollisionGroup(this.hoopCollisionGroup);
  this.hoop_left.body.collides([this.ballCollisionGroup]);
  this.hoop_left.original_key = 'hoop_left';
  this.hoop_left.body.debug = true;

  this.hoop_right = this.game.add.sprite(625, 294);
  this.game.physics.p2.enable(this.hoop_right);
  this.hoop_right.body.setRectangle(15, 10);
  this.hoop_right.body.static = true;
  this.hoop_right.body.setCollisionGroup(this.hoopCollisionGroup);
  this.hoop_right.body.collides([this.ballCollisionGroup]);
  this.hoop_right.original_key = 'hoop_right';
  this.hoop_right.body.debug = true;


  //this.ball.body.velocity.x = 932;
  //this.ball.body.velocity.y = -1536;
  this.ball.body.velocity.x = 932;
  this.ball.body.velocity.y = -1536;
  this.ball.body.rotateLeft(300);

}

function update() {}