嘿,我在写一个快速程序,遇到了需要使用圆圈进行碰撞检测的问题。但是据我所知,只有Rectangle类具有.intersects(Point p)方法。有没有类似我可以使用的方法的圆圈?

最佳答案

您可以使用Ellipse2D包中的一个名为 java.awt.geom 的类,因为它具有一些您所寻找的方法。宽度等于高度的椭圆是一个圆。
contains的重载之一允许您测试圆点碰撞:



另一个名为intersects的函数可让您测试圆角矩形碰撞:



注意Ellipse2D是一个抽象类。您将使用其嵌套子类Ellipse2D.DoubleEllipse2D.Float之一,唯一的区别是用于存储维度的数据类型。

09-05 16:20