我在JavaFX中遇到了问题。
首先,我使用以下代码检测线和圆之间的碰撞:
if(line.getBoundsInParent().intersects(circle.getBoundsInParent())){
System.out.println("Collision!");
}
在此之后,我需要捕捉碰撞的坐标,如下图所示:
我如何捕捉这个坐标?
答案 0 :(得分:1)
由于Line和Circle都是Shapes,您可以使用Shape中的静态方法intersect
来查找它们的交集:
Shape collisionArea = Shape.intersect(line, circle)
collisionArea
也是一个节点,因此您可以使用其boundsInParent
找出发生碰撞的位置。或者,如果您愿意,可以使用localToScene
或localToScreen
将本地坐标转换为场景或屏幕坐标。