Comment savoir si 2 rectangle se touche?

Signaler
Messages postés
16
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
10 mai 2009
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonsoir,

Comme projet final pour mon cours de programmation, je fais un petit jeu en c#.
Mon jeu est en quelque sorte un Frogger version simplifié.
Mon problême est que même si je prends une commande du genre...

...
            if(personnage.IntersectsWith(dessin1))
            {
                tmDessin.Stop();
                tmChrono.Stop();
                MessageBox.Show("Vous êtes morts");
            }
...

...elle marche, mais seulement si mon personnage, que je contrôle au clavier, rentre en contact en mouvement avec le dessin.
en d'autres mots, je ne sais pas comment faire une validation si mon personnage ne bouge tout simplement pas.

Merci!

3 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonjour,
je ne comprends pas le probleme.
il suffit d'appeller cette méthode même si le personnage est immobile, non ?

C# is amazing, enjoy it!
Messages postés
16
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
10 mai 2009

Oui et c'est justement le problème.  La méthode fonctionne seulement quand les 2 rectangles bougent, mais quand mon rectangle "personnage" ne bouge pas et entre en contact avec l'autre rectangle, rien ne se passe, la condition booléenne ne change pas.
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonjour,

J'imagine que Personnage et Dessin1 sont tout deux des Rectangles.
Peux-tu afficher sous debug, leurs données respectives ? juste pour voir s'il y a ou non intersection ?

C# is amazing, enjoy it!