zoom i/o
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.2.2/phaser.min.js"></script>
<script src="//cdn.jsdelivr.net/phaser/2.6.2/phaser.min.js"></script>
JavaScript
var oldcamera;
var worldScale = 1;
var currentBounds;
var mapSizeMax;
var worldwidth=600;
var worldheight=600;
var mapSizeX = 8000;
var mapSizeY = 8000;
var prevScale ={};
var nextScale={};
var zoompoint={};
var mapSizeCurrent;
var distance =0;
var olddistance =0;
var distancedelta=0;
var easing=0.1;
var Menu = {
preload: function() {
game.load.image('clouds', 'https://fc08.deviantart.net/fs71/f/2010/328/c/e/seamless_tiling___cracked_by_cesstrelle-d33i6by.jpg');
game.load.image('coin', 'http://png-3.findicons.com/files/icons/1588/farm_fresh_web/32/box.png');
},
create: function () {
worldScale=1;
stageGroup = game.add.group(); // this group will contain everything except the UI for scaling
backgroundobjects = game.add.group();
groundobjects = game.add.group();
mapSizeMax = mapSizeX;
mapSizeCurrent = mapSizeMax;
coin = game.add.sprite(4000,4000,'coin');
coin.scale.setTo(4,4);
coin.anchor.setTo(0.5,0.5);
background1=game.add.tileSprite(0, 0, mapSizeX,mapSizeY ,'clouds');
backgroundobjects.add(background1);
backgroundobjects.add(coin);
stageGroup.add(backgroundobjects);
stageGroup.add(groundobjects);
currentBounds = new Phaser.Rectangle(-mapSizeX, -mapSizeY, mapSizeX*2, mapSizeY*2);
game.camera.bounds=currentBounds;
game.camera.focusOnXY(4000,4000);
game.input.mouse.mouseWheelCallback = function (event) {
var wheelDelt = game.input.mouse.wheelDelta;
if (wheelDelt < 0) { mapSizeCurrent -= 400; mapSizeCurrent = Phaser.Math.clamp(mapSizeCurrent, worldwidth , mapSizeMax);}
else { mapSizeCurrent += 400; mapSizeCurrent = Phaser.Math.clamp(mapSizeCurrent, worldwidth , mapSizeMax);}
worldScale = (mapSizeCurrent/mapSizeMax);
};
},
update: function () {
//touch zoom
if(game.input.pointer1.isDown &&...