【问题标题】:Why it only rotates between 90 and -90?为什么它只能在 90 到 -90 之间旋转?
【发布时间】:2020-01-25 15:58:38
【问题描述】:

在这段代码中,矩形总是面向光标,一切都很好。 但是,有一个问题在执行代码时可能不可见。 发生的情况是,它只在 90 到 -90 之间旋转。 如果我什么都不添加就好了。但是当我用 2 种颜色着色时(比如说红色和蓝色) 如果我将光标从右侧移到矩形旁边,它会从红色侧面向光标 但在另一侧移动时,它会从蓝色侧面向光标。

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()));
}```

【问题讨论】:

    标签: java math javafx rectangles scene


    【解决方案1】:

    只需替换

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

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

    【讨论】:

      猜你喜欢
      • 2019-09-16
      • 2013-08-19
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      相关资源
      最近更新 更多