From 35f427da82d50ef659e8b371af27daba6cd78dfc Mon Sep 17 00:00:00 2001 From: Dimava Date: Fri, 3 Jul 2020 23:27:44 +0300 Subject: [PATCH] remove moving on min/max zoom --- src/js/game/camera.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/js/game/camera.js b/src/js/game/camera.js index 5bfe7b51..ab5c68eb 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -500,6 +500,7 @@ export class Camera extends BasicSerializableObject { event.preventDefault(); // event.stopPropagation(); } + const prevZoom = this.zoomLevel; const delta = Math.sign(event.deltaY) * -0.15 * this.root.app.settings.getScrollWheelSensitivity(); assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY); @@ -515,7 +516,8 @@ export class Camera extends BasicSerializableObject { const worldPos = this.root.camera.screenToWorld(mousePosition); let de = worldPos.sub(this.center); this.desiredCenter = null; - this.center = this.center.add(de.multiplyScalar(delta)); + const actualDelta = this.zoomLevel / prevZoom - 1; + this.center = this.center.add(de.multiplyScalar(actualDelta)); } return false;