为什么它只在 90 和 -90 之间旋转?

Why it only rotates between 90 and -90?

在此代码中,矩形始终面向光标,一切正常。 但是,有一个问题在执行代码时可能不可见。 发生的情况是,它仅在 90 和 -90 之间旋转。 如果我什么都不加就好了。但是当我用两种颜色给它上色时(假设是红色和蓝色) 如果我将光标从右侧移动到矩形旁边,它就会从红色一侧面向光标 但在另一侧移动时,它从蓝色一侧面向光标。

double centerX = Rectangle.getX() + 0.5 * Rectangle.getWidth();
double centerY = Rectangle.getY() + 0.5 * Rectangle.getHeight();
Rectangle.setRotate(180 * Math.atan((e.getY() - centerY)/(e.getX() - centerX()));
}```

只需更换

Math.atan((e.getY() - centerY)/(e.getX() - centerX())

Math.atan2((e.getY() - centerY), (e.getX() - centerX())