JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://examples.phaser.io/_site/js/phaser.js"></script>
JavaScript
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create });
function preload() {
game.load.image('backdrop', 'http://fc04.deviantart.net/images/i/2003/39/d/c/Dirt___Ground_Cracks.jpg');
}
function create() {
game.world.setBounds(0, 0, 1920, 1200);
game.add.sprite(0, 0, 'backdrop');
var canvas = window.document.getElementsByTagName('canvas')[0],
prevX = 0, prevY = 0, mouseDown = false;
canvas.addEventListener('touchstart',function(e){
prevX = e.changedTouches[0].screenX;
prevY = e.changedTouches[0].screenY;
});
canvas.addEventListener('mousedown',function(e){
mouseDown = true;
prevX = e.screenX;
prevY = e.screenY;
});
canvas.addEventListener('touchmove',function(e){
e.preventDefault();
game.camera.x+= prevX - e.changedTouches[0].screenX;
prevX = e.changedTouches[0].screenX;
game.camera.y+= prevY - e.changedTouches[0].screenY;
prevY = e.changedTouches[0].screenY;
});
canvas.addEventListener('mousemove',function(e){
if(mouseDown){
e.preventDefault();
game.camera.x+= prevX - e.screenX;
prevX = e.screenX;
game.camera.y+= prevY - e.screenY;
prevY = e.screenY;
}
});
canvas.addEventListener('mouseup',function(e){
mouseDown = false;
});
canvas.addEventListener('mouseleave',function(e){
mouseDown = false;
});
}