形状之间的碰撞点

时间:2015-05-25 14:03:47

标签: javafx-2 javafx-8 shapes

我在JavaFX中遇到了问题。

首先,我使用以下代码检测线和圆之间的碰撞:

if(line.getBoundsInParent().intersects(circle.getBoundsInParent())){  
 System.out.println("Collision!");  
}

在此之后,我需要捕捉碰撞的坐标,如下图所示:

Figure

我如何捕捉这个坐标?

1 个答案:

答案 0 :(得分:1)

由于Line和Circle都是Shapes,您可以使用Shape中的静态方法intersect来查找它们的交集:

Shape collisionArea = Shape.intersect(line, circle)

collisionArea也是一个节点,因此您可以使用其boundsInParent找出发生碰撞的位置。或者,如果您愿意,可以使用localToScenelocalToScreen将本地坐标转换为场景或屏幕坐标。