Я пытаюсь повернуть дугу в холсте на движение мыши, но ее не работает.вращение дуги вокруг неподвижного центра в html холсте
вот мой код:
var c=document.getElementById("c");
var ctx=c.getContext('2d');
c.width=window.innerWidth;
c.height=window.innerHeight;
var width=c.width;
var height=c.height;
draw();
function draw(){
var cx=width/2;
var cy=height/2;
ctx.beginPath();
ctx.strokeStyle="#fff";
ctx.arc(cx,cy,100,0,Math.PI);
ctx.stroke();
}
document.addEventListener("mousemove",function(e){
var p1=(width/2)-e.clientX;
var p2=(height/2)-e.clientY;
var angle=Math.atan2(p2, p1);
ctx.clearRect(0,0,width,height);
ctx.beginPath();
ctx.strokeStyle="#fff";
ctx.arc(width/2,height/2,100,0,Math.PI);
// ctx.translate(width/2,height/2);
ctx.rotate(angle);
//ctx.translate(0,0);
ctx.stroke();
// ctx.restore();
},false);
Оно не работал. позже я хочу добавить больше объектов, но они не должны вращаться, только этот полукруг должен быть ратифицирован в соответствии с движениями мыши. Я пробовал другие примеры с переводом, который я прокомментировал, потому что он не работает. как я могу исправить свой код, чтобы сделать это?
Не могли бы вы дать более ясное объяснение того, что вы хотите, чтобы это произошло? – markE