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

Langage Java Discussion :

objet dans un objet


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 3
    Points
    3
    Par défaut objet dans un objet
    Bonjour !

    je suis débutant et j'ai créé une applet java dans laquelle un rond se déplace.

    Je souhaterais que lorsque le rond touche le rectangle le thread s'arrête.

    Dans les variables j'ai créé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rectangle rect1 = new Rectangle(100, 100, 4, 180);
    boolean dedans1 = false;
    et dans paint :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gp.setColor(Color.blue);
    gp.fillRect(rect1.x, rect1.y, rect1.width, rect1.height
    sur le site où j'ai trouvé ça (http://filip.ouvaton.org/java/1/html/fr/10.html), ils vérifient si la souris est dans le rectangle, mais j'aimerais verifier si un cercle est dedans, il faudrait donc que je remplace le inside de ce qui suit par quelque chose ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     dedans1 =(rect1.inside(x,y)) ? true : false;
    (<-- dans le run)

    enfin je ne comprend pas très bien comment savoir si le rond est dedans, y a-t-il une fonction ou est-ce que je dois faire plusieurs tests avec les coordonées de la sphère ?
    J'éspère avoir été clair

    Merci pour votre aide !

    adri_thi

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    je ne suis pas ûr mais dans la javaDoc de la classe rectangle :


    inside est deprecated, cad il faut utiliser une autre méthode normalement (contai ns)

    ensuite, tu peux tester une intersection, contient .. mais avec d'autres rectangles seulement.

    Donc je crois que tu va etre obligé de passer par qques calculs ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci d'avoir répondu si vite !

    en fait, je me trompe peut-être mais, un rond ce n'est pas considéré comme un rectangle avec des coins arrondis ? parce que si ce n'était pas le cas on donnerait son centre et son rayon mais il me semble qu'on le définit de la même manière que le rectangle alors si tu as plus de détails sur les intersections entre deux rectangles ça peut-être utile !

    adri_thi

  4. #4
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    Le mieux pour toi, c'est d'utiliser un objet Cercle (soit tu le crées, soit tu utilises la classe Ellipse2D) qui contient une boundingbox (rectangle englobant de ton cercle)
    Pour vérifier si ton rectangle englobant intersecte un autre rectangle, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rectangle.intersects(monCercle.getBoundingBox())
    qui te renvoie un booléen...

    voilà voilà
    La différence entre la théorie et la pratique est plus mince en théorie qu'en pratique

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    il n'y a pas moyen d'obtenir une boundingbox pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     gp.fillOval(20, 20, 2 * r1, 2 * r1);
    ?
    ou à partir d'une sphère comme ça et d'un rectangle construit de la même manière savoir si l'un est dans l'autre ?
    car en fait cette balle qui bouge fait partie d'un tableau et si je pouvais éviter de tout changer ça serait pas mal ...

Discussions similaires

  1. [XML] Lire un OBJET dans un OBJET dans un ARRAY
    Par Irokoi dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/05/2013, 14h53
  2. PopupMenu : Compter le nombre d'objets dans un objet
    Par bionicleman dans le forum Débuter
    Réponses: 5
    Dernier message: 15/10/2008, 11h38
  3. [POO] Réassigner objet, dans l'objet
    Par Evocatii dans le forum Langage
    Réponses: 3
    Dernier message: 18/04/2008, 19h35
  4. Réponses: 2
    Dernier message: 20/06/2007, 12h12
  5. Créer un objet dans un objet
    Par poussinphp dans le forum C++
    Réponses: 6
    Dernier message: 10/07/2006, 15h18

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