getAngle({
startX,
startY,
moveX,
moveY
}) {//获得人物中心和鼠标坐标连线,与y轴正半轴之间的夹角
let px = startX
let py = startY
let mx = moveX
let my = moveY
var x = Math.abs(px - mx);
var y = Math.abs(py - my);
var z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
var cos = y / z;
var radina = Math.acos(cos);//用反三角函数求弧度
// var angle = Math.floor(180 / (Math.PI / radina));//将弧度转换成角度
var angle = 180 / (Math.PI / radina);//将弧度转换成角度
if (mx > px && my > py) {//鼠标在第四象限
angle = 180 - angle;
}
if (mx == px && my > py) {//鼠标在y轴负方向上
angle = 180;
}
if (mx > px && my == py) {//鼠标在x轴正方向上
angle = 90;
}
if (mx < px && my > py) {//鼠标在第三象限
angle = 180 + angle;
}
if (mx < px && my == py) {//鼠标在x轴负方向
angle = 270;
}
if (mx < px && my < py) {//鼠标在第二象限
angle = 360 - angle;
}
return angle;
}
js 角度计算
最新推荐文章于 2024-06-27 17:14:12 发布