From 0deb0d6e9e85a169571240de634d958183c56b56 Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Tue, 16 Apr 2024 19:48:59 +0300 Subject: proto: patching robot movement --- index.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 58617f1..b4b6154 100644 --- a/index.js +++ b/index.js @@ -43,6 +43,8 @@ canvas.addEventListener('mousedown', (e) => { cross.style.left = e.layerX - canvasOffsetX + "px" cross.style.top = e.layerY - canvasOffsetY + "px" + + temp = angle angle = Math.atan(x/Math.abs(y)) sym = 1 @@ -53,9 +55,14 @@ canvas.addEventListener('mousedown', (e) => { if (y > 0) { angle = sym*Math.PI - angle } + console.log(temp) + console.log(angle) robot.style.transform = 'translate(-50%, -50%) rotate('+ angle +'rad)'; - moveTo(x * scale,y * scale) + a = -(e.layerX - canvasOffsetX - canvas.width/2) * scale + b = -(e.layerY - canvasOffsetY - canvas.height/2) * scale + rot = (angle - temp) + moveTo(a*Math.cos(-rot)- b * Math.sin(-rot),a * Math.sin(-rot) + b*Math.cos(-rot)) moveAll(x,y) }); @@ -109,6 +116,9 @@ reset.onclick = () => { drawings = []; angle = 0 robot.style.transform = 'translate(-50%, -50%) rotate(0deg)'; + a = canvas.width/2 + canvasOffsetX; + b = canvas.height/2 + canvasOffsetY; + ctx.clearRect(-a,-b,canvas.width,canvas.height); } function resizeCanvas() { -- cgit v1.2.3