Intersect rectangles
Skarwild
Messages postés
7
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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
A voir également:
- Pix nom du chat rectangle
- Coco chat - Accueil - Réseaux sociaux
- Chat engine - Télécharger - Outils Internet
- Nom de l'adresse ✓ - Forum Services en ligne
- Chat tubidy - Télécharger - Outils Internet
- Bounty chat ✓ - Forum Réseaux sociaux
2 réponses
public Boolean isCollided(Rectangle r){
return terrain.intersects(r);
}
avec terrain : private Rectangle terrain = new Rectangle(50, 50, 200, 20);
le rectangle avec lequel j'apelle la fonction :
java.awt.Rectangle[x=200,y=284,width=16,height=16]
Un 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);
}
}
