我怎样才能在鼠标上做一个符号点?

How can I make a symbol point at the mouse?

我想让一个符号旋转指向鼠标。我正在使用此功能,但它在符号的枢轴下方不起作用。 inverse tan 函数的范围是 180 度,对吗?那么我怎样才能获得 360 度的移动呢?

是否需要添加 if 语句来检查鼠标位置,或者是否有更优雅的解决方案?

function panelTrack(){
    angle = -180/Math.PI * Math.atan((mouseX - panel.x)/(mouseY - panel.y));
    panel.rotation = angle;
    trace(panel.rotation);
}

数学不是我的强项 - 所以也许其他人会提供更好的答案,但要获得所有 4 个象限,您需要使用 atan2

angle = Math.atan2(mouseY - panel.y, mouseX - panel.x) * 180 / Math.PI;

我好像记得它与检查值 0 有关(Math.atan 没有)。

 const radiance:Number=180/Math.PI;    

angle=-(Math.atan2(mouseX-panel.x, mouseY-panel.y))*radiance;

我使用减号是因为当你不添加减号时通常方向是相反的。

希望这对您有所帮助。