簡體   English   中英

在Java中是否有類似Rectangle類的圓類

[英]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.DoubleEllipse2D.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM