Y at-il une classe de cercle dans Java comme la classe Rectangle
Hey j'ai écrit un programme rapide et quelque chose est venu à travers, où j'ai besoin d'utiliser un cercle pour la détection de collision. Mais autant que je sache, il n'est que le Rectangle de la classe qui a le .coupe(Point p) de la méthode. Est-il quelque chose comme un cercle que je pourrais utiliser de la même façon?
source d'informationauteur user1871085
Vous devez vous connecter pour publier un commentaire.
Il y a une classe appelée
Ellipse2D
dans lejava.awt.geom
package que vous pouvez utiliser, car il possède certaines des méthodes qui semble être ce que vous cherchez. Une ellipse avec une largeur égale à sa hauteur est de un cercle.Une des surcharges de
contains
vous permet de tester cercle-point des collisions:Une autre fonction appelée
intersects
vous permet de tester cercle rectangle de collisions:Noter que
Ellipse2D
est une classe abstraite; vous utilisez l'un de ses sous-classes imbriquéesEllipse2D.Double
ouEllipse2D.Float
la seule différence étant le type de données utilisé pour stocker les dimensions.Il y a un ellipse2D, c'est de la même manière qu'un carré est un rectangle, un cercle, une ellipse.
http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Ellipse2D.html
java.awt.La forme aussi. et l'ensemble de la classe qui l'implémente: Arc2D, Arc2D.Double, Arc2D.Flotteur, De La Région, BasicTextUI.BasicCaret, CubicCurve2D, CubicCurve2D.Double, CubicCurve2D.Float, DefaultCaret, Ellipse2DEllipse2D.Double, Ellipse2D.Float, GeneralPath, Line2D, Line2D.Double, Line2D.Float, Path2D, Path2D.Double, Path2D.Float, Polygone, QuadCurve2D, QuadCurve2D.Double, QuadCurve2D.Float, Rectangle, Rectangle2D, Rectangle2D.Double, Rectangle2D.Float, RectangularShape, RoundRectangle2D, RoundRectangle2D.Double, RoundRectangle2D.Flotteur