IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Collision entre rectangles


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    studentt
    Inscrit en
    Octobre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : studentt

    Informations forums :
    Inscription : Octobre 2009
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Collision entre rectangles
    Bonjour à tous,

    Je suis en train de faire un programme d'entrainement qui affiche des rectangles (Label) colorés et en mouvement sur une surface (Panel).

    J'aimerais que les rectangles changent de sens quand ils se touchent entre-eux.
    Plusieurs problèmes :

    Pour la détection de collision j'ai utilisé l'algorithme qui consiste à dire que si un des points du premier rectangle est contenu dans le deuxième alors les rectangles sont en contact, existe-t'il un algorithme plus facile à mettre en oeuvre, dans un aspect mathématique je ne vois pas d'autre solution mais peut-être existe-t'il des méthodes qui renvoie true quand deux labels se piétine

    Le deuxième problème, probablement le plus corsé... J'aimerais pouvoir faire savoir à mon programme sur quelles surfaces les rectangles se sont percuté.
    Connaissez-vous un algorithme qui permet de déterminer ça ?

    Merci pour les réponses

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Salut pour ton problème tu peux utiliser les méthodes implémentées dans l'api Java en particulier les méthodes de la classe Rectangle.

    Pour la détection de collision j'ai utilisé l'algorithme qui consiste à dire que si un des points du premier rectangle est contenu dans le deuxième alors les rectangles sont en contact, existe-t'il un algorithme plus facile à mettre en oeuvre, dans un aspect mathématique je ne vois pas d'autre solution mais peut-être existe-t'il des méthodes qui renvoie true quand deux labels se piétine
    La classe Rectangle implémente la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public boolean intersects(Rectangle r)
    Cette méthode renvoie un booléen a true si deux rectangles rentrent en collision. De plus tu peux avoir une instance de Rectangle directement à partir de ta classe Label via la méthode getBounds.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Label hello = new Label("Hello");
    Label world = new Label("World");
    //Placement des labels etc...
    if(hello.getBounds().intersects(world)){
       //Les actions à effectuer en cas de collision
    }
    Le deuxième problème, probablement le plus corsé... J'aimerais pouvoir faire savoir à mon programme sur quelles surfaces les rectangles se sont percuté.
    La classe Rectangle permet aussi d'obtenir la surface commune à deux Rectangles qui sont rentrés en collision. Tu peux l'obtenir via la méthode
    Pour plus d'informations sur son usage je t'invite à lire la documentation de la classe Rectangle dans l'api Java.
    J'espère t'avoir aidé à résoudre ton problème.

Discussions similaires

  1. collision entre des rectangles
    Par ines64 dans le forum Programmation multimédia/Jeux
    Réponses: 0
    Dernier message: 05/05/2013, 00h01
  2. Collision entre deux rectangle
    Par Ouaibou dans le forum Mathématiques
    Réponses: 4
    Dernier message: 15/04/2007, 15h16
  3. Détection de collisions entre rectangles
    Par davcha dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 13/04/2006, 18h26
  4. GLScene et les collisions entre les objets
    Par HopeLeaves dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 13/06/2005, 19h45
  5. Réponses: 4
    Dernier message: 25/09/2004, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo