diff --git a/src/js/game/camera.js b/src/js/game/camera.js index 66d7efa8..cd290b5a 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -502,10 +502,10 @@ export class Camera extends BasicSerializableObject { } const prevZoom = this.zoomLevel; - const delta = Math.sign(event.deltaY) * -0.15 * this.root.app.settings.getScrollWheelSensitivity(); + const scale = 1 + 0.15 * this.root.app.settings.getScrollWheelSensitivity(); assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY); assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel); - this.zoomLevel *= 1 + delta; + this.zoomLevel *= (event.deltaY < 0) ? scale : 1/scale; assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel); this.clampZoomLevel();