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:
- Dans le document à télécharger, trouvez les lettres situées derrière les rectangles pour reconstituer le nom du chat.comment s'appelle-t-il ?
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Télécharger instagram pour pc - Télécharger - Divers Communication
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);
}
}
