[英]Is there a circle class in Java like the Rectangle class
嘿,我正在編寫一個快速程序,遇到需要使用圓圈進行碰撞檢測的地方。 但據我所知,只有Rectangle類具有.intersects(Point p)方法。 有什么像我可以用同樣方式使用的圓圈嗎?
在java.awt.geom
包中有一個名為Ellipse2D
的類,您可以使用它,因為它有一些看起來像您正在尋找的方法。 寬度等於其高度的橢圓是圓形。
contains
的重載之一允許您測試圓點碰撞:
boolean contains(double x, double y)
測試指定的坐標是否在
Shape
的邊界內,如內部定義所述。
另一個名為intersects
函數允許您測試圓矩形碰撞:
boolean intersects(double x, double y, double w, double h)
測試
Shape
的內部是否與指定矩形區域的內部相交。
注意Ellipse2D
是一個抽象類; 您將使用其嵌套的子類Ellipse2D.Double
或Ellipse2D.Float
,唯一的區別是用於存儲維度的數據類型。
有一個ellipse2D,這與方形是矩形的方式相同,圓形是橢圓形。
http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Ellipse2D.html
java.awt.Shape也是。 以及實現它的所有類:Arc2D,Arc2D.Double,Arc2D.Float,Area,BasicTextUI.BasicCaret,CubicCurve2D,CubicCurve2D.Double,CubicCurve2D.Float,DefaultCaret, Ellipse2D ,Ellipse2D.Double,Ellipse2D.Float,GeneralPath,Line2D, Line2D.Double,Line2D.Float,Path2D,Path2D.Double,Path2D.Float,Polygon,QuadCurve2D,QuadCurve2D.Double,QuadCurve2D.Float,Rectangle,Rectangle2D,Rectangle2D.Double,Rectangle2D.Float,RectangularShape,RoundRectangle2D,RoundRectangle2D.Double, RoundRectangle2D.Float
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.