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

Interfaces Graphiques en Java Discussion :

Arkanïde Collision boule / barre


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut Arkanïde Collision boule / barre
    Bonjour, ne sachant pas vraiment ou poster, je le fais donc ici.

    Voilà mon problème, je fais un Arkanoïde (casse-brique), j'en suis encore qu'au debut et j'essaie de faire la collision entre la boule et la barre, j'ai établis un petit code qui marche, mais le problème est que dés que la boule s'accelere, elle passe au travers de la barre.

    Voici la partie de code qui fait bouger la boule et gere la collision.
    Dés que Delai arrive à 3000 (ou autre j'ai testé avec plusieur tps) la collision ne se fait plus entre les deux.

    Quelqu'un aurait-il une idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
        Timer t = new Timer(20,new ActionListener(){
           public void actionPerformed(ActionEvent ae)
           {
               delai++;
     
               if (delai==3000)
               {
                   v+=1;
                   delai=0;
               }
     
               if(y+50 >h || y<0)alfa = 2*PI-alfa;
     
     
               if (x+50 >w || x<0)alfa = PI-alfa;
     
               if (x >= z && x<= z+75 &&y == s)alfa = 2*PI-alfa;
     
     
               x+= v*cos(alfa);
               y+= v*sin(alfa);
               repaint();
            }
          });
    Merci.

  2. #2
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    Si pour déplacer la balle quand tu augmentes la vitesse tu augmentes pour un même temps donné la distance parcourue, il se peut que ta balle "saute par dessus" la barre (d'après ton code ça doit être le cas).
    Le truc c'est de réfléchir dans l'autre sens, il faut augmenter ou diminuer le temps pour une même distance parcourue (distance suffisamment petite pour obtenir une collision à coup sûr).
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  3. #3
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Oui c'est cela, j'ai juste mis une marge pour les y et cela a l'air de marcher.
    Avec une grosse vitesse il y aura surement des problème, mais je verrais cela aprés.

    Merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 2.X] Collision barre / balle
    Par LockStratos dans le forum Tkinter
    Réponses: 3
    Dernier message: 18/04/2015, 18h44
  2. algorithme de collision 3D
    Par chetropinchuste dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 14/02/2010, 13h16
  3. collisions boules vecteurs
    Par guitz dans le forum Mathématiques
    Réponses: 4
    Dernier message: 30/10/2009, 11h57
  4. Réponses: 6
    Dernier message: 21/06/2002, 14h48
  5. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

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