Intersect rectangles
Bonjour,
Je suis débutant en java et j'ai un petit problème, je cherche l'intersection de deux rectangles
pour ça je fais la collision entre un petit rectangle et un plus gros rectangle Rectangle(50, 50, 200, 20) .
Le problème c'est que lorsque je fais r1.intersects(r); l'intersection ne marche que pour le coté du haut , pour le coté bas, droit et gauche il ne détecte aucune collision.
Cordialement
Je suis débutant en java et j'ai un petit problème, je cherche l'intersection de deux rectangles
pour ça je fais la collision entre un petit rectangle et un plus gros rectangle Rectangle(50, 50, 200, 20) .
Le problème c'est que lorsque je fais r1.intersects(r); l'intersection ne marche que pour le coté du haut , pour le coté bas, droit et gauche il ne détecte aucune collision.
Cordialement
2 réponses
-
ModérateurFais voir ton code, impossible de t'aider sinon !
-
public Boolean isCollided(Rectangle r){avec terrain : private Rectangle terrain = new Rectangle(50, 50, 200, 20);
return terrain.intersects(r);
}
le rectangle avec lequel j'apelle la fonction :
java.awt.Rectangle[x=200,y=284,width=16,height=16]-
-
-
ModérateurUn exemple d'affichage :
import java.awt.Component; import java.awt.Graphics; import java.awt.Rectangle; import javax.swing.JFrame; public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new Component() { Rectangle r1 = new Rectangle(50, 50, 200, 20); Rectangle r2 = new Rectangle(200, 284, 16, 16); public void paint(Graphics g) { g.drawRect(r1.x, r1.y, r1.width, r1.height); g.drawRect(r2.x, r2.y, r2.width, r2.height); } }); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
-
