From 36fe3c4a4bc07b598d39e4a59d5c6fd60f2d1a6b Mon Sep 17 00:00:00 2001 From: RGBCube Date: Tue, 19 Dec 2023 15:36:09 +0300 Subject: [PATCH] Make code better --- cube.js | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/cube.js b/cube.js index c84270d..489bfdb 100644 --- a/cube.js +++ b/cube.js @@ -35,12 +35,6 @@ class Vec3 { } } -class Vec2 extends Vec3 { - constructor(x, y) { - super(x, y, 0) - } -} - class Quat { constructor(x, y, z, w) { this.x = x; @@ -99,14 +93,10 @@ const orientation = { (() => { const mouse = { down: false, - lastMove: window.performance.now(), - previous: new Vec2(0, 0), + lastMove: 0, + previous: null, }; - document.addEventListener("mouseleave", () => { - mouse.down = false; - }); - document.addEventListener("mouseup", () => { mouse.down = false; }); @@ -120,19 +110,19 @@ const orientation = { document.addEventListener("mousemove", (event) => { if (!mouse.down) return; - const newMouse = new Vec2(event.clientX, event.clientY); + const newMouse = new Vec3(event.clientX, event.clientY, 0); if (window.performance.now() - mouse.lastMove > 100) { // This is a fresh scroll. mouse.previous = newMouse; } - const delta = Vec2.sub(newMouse, mouse.previous); + const delta = Vec3.sub(newMouse, mouse.previous); mouse.previous = newMouse; mouse.lastMove = window.performance.now(); - const axis = new Vec2(-delta.y,delta.x); + const axis = new Vec3(-delta.y, delta.x, 0); const rotation = Quat.fromAngleAxis(delta.length() * sensitivity, axis); orientation.set(Quat.mul(rotation, orientation.get()));