我正在做一个简单的模拟,并且在找到旋转的、大小奇怪的 imageView 节点的 X 和 Y 坐标时遇到了很多麻烦。(蓝色位是前面)目标是在 imageView 旋转后找出相对于 imageView 指向的方向的 XY 坐标。我可以找到 imageView 相对于其起始位置的角度,但我无法弄清楚如何获得 imageView 相对于该角度的 XY 坐标。由于 .setRotate(angle) 方法不会改变 imageView 的 X 和 Y 位置,我应该如何找到 imageView 面对的点?我正在使用的旋转和 imageView 的最小示例:主程序public class Main extends Application { @Override public void start(Stage primaryStage) { Group root = new Group(); primaryStage.setScene(new Scene(root, 500, 500)); Image robotImage = null; try { robotImage = new Image(new FileInputStream("res\\robot.png")); } catch (FileNotFoundException e) { e.printStackTrace(); } ImageView robot = new ImageView(robotImage); robot.setLayoutX(125); robot.setLayoutY(125); System.out.println("PreRotate X: " + robot.getLayoutX() + "PreRotate Y: " + robot.getLayoutY()); robot.setRotate(45); System.out.println("PostRotate X: " + robot.getLayoutX() + "PostRotate Y: " + robot.getLayoutY()); root.getChildren().add(robot); primaryStage.show(); } public static void main(String[] args) { launch(args); }}我已经尝试使用 imageView 的边界以及位于 imageView 顶部的线条,但这需要我在每次 imageView 更改其最大/最小 x/y 时找到新的最大/最小 x/y。我应该如何处理这个问题?我使用了错误的转换吗?我没有看到可以用于此的方法吗?我知道必须有更好的方法。谢谢阅读。
添加回答
举报
0/150
提交
取消