JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/phaser/2.0.6/phaser.min.js"></script>

JavaScript

var game = new Phaser.Game(600, 400, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });

function preload() {

game.load.image('tetrisblock1', '');
game.load.image('tetrisblock2', '');
game.load.image('tetrisblock3', '');

game.load.physics('physicsData', 'http://examples.phaser.io/assets/physics/sprites.json');

}

var tetris1;
var tetris2;
var tetris3;
var mouseBody;
var mouseConstraint;

function create() {

//	Enable p2 physics
game.physics.startSystem(Phaser.Physics.P2JS);
game.physics.p2.gravity.y = 1000;

tetris1 = game.add.sprite(300, 100, 'tetrisblock1');
tetris2 = game.add.sprite(375, 200, 'tetrisblock2');
tetris3 = game.add.sprite(450, 300, 'tetrisblock3');

//  Create collision group for the blocks
var blockCollisionGroup = game.physics.p2.createCollisionGroup();

   //  This part is vital if you want the objects with their own collision groups to still collide with the world bounds
   //  (which we do) - what this does is adjust the bounds to use its own collision group.
   game.physics.p2.updateBoundsCollisionGroup();
   
//	Enable the physics bodies on all the sprites
game.physics.p2.enable([ tetris1, tetris2, tetris3 ], true);

tetris1.body.clearShapes();
tetris1.body.loadPolygon('physicsData', 'tetrisblock1');
tetris1.body.setCollisionGroup(blockCollisionGroup);
tetris1.body.collides([blockCollisionGroup]);

tetris2.body.clearShapes();
tetris2.body.loadPolygon('physicsData', 'tetrisblock2');
tetris2.body.setCollisionGroup(blockCollisionGroup);
tetris2.body.collides([blockCollisionGroup]);

tetris3.body.clearShapes();
tetris3.body.loadPolygon('physicsData', 'tetrisblock3');
tetris3.body.setCollisionGroup(blockCollisionGroup);
tetris3.body.collides([blockCollisionGroup]);	

// create physics body for mouse which we will use for dragging clicked bodies
mouseBody = new p2.Body();
game.physics.p2.world.addBody(mouseBody);
       
// attach pointer events
game.input.onDown.add(click,...