嘿,我在写一个快速程序,遇到了需要使用圆圈进行碰撞检测的问题。但是据我所知,只有Rectangle类具有.intersects(Point p)方法。有没有类似我可以使用的方法的圆圈?
最佳答案
您可以使用Ellipse2D
包中的一个名为 java.awt.geom
的类,因为它具有一些您所寻找的方法。宽度等于高度的椭圆是一个圆。contains
的重载之一允许您测试圆点碰撞:
另一个名为intersects
的函数可让您测试圆角矩形碰撞:
注意Ellipse2D
是一个抽象类。您将使用其嵌套子类Ellipse2D.Double
或Ellipse2D.Float
之一,唯一的区别是用于存储维度的数据类型。