Collisions

Bonjour!

Alors voilà, pour un jeu je cherche à programmer les collisions: je vous décris mon jeu: on a un carré qu'on déplace en haut, en bas, a gauche, a droite... et 2 balles rebondissent sur les murs, et dès que le carré se fait toucher, bref, on arrete et on marque perdu...

Le problème, c'est que je n'arrive pas à faire les collisions: j'ai dit que si la position Y de la balle était égale à la position Y du carré, et pareil pour X, on alerte "Perdu." Mais le problème il faut que la balle soit PILE a la position du carré, et je cherche comment faire pour dire si la position Y est égale "à peu près" à celle du carré par exemple...

Pouvez vous m'aider?
Merci.

10 réponses

  1. Hum, le plus simple serait de calculer la distance entre les deux points, et que si il dépasse une limite, tu la considère comme touché.
    1. Tu as indiqué que :
      j'ai dit que si la position Y de la balle était égale à la position Y du carré, et pareil pour X ...

      TU doit te retrouver avec un truc quelque part indiquer
      if(posYballe==posYcarre && posXballe==posXcarre)

      il te suffit donc de remplacer
      posYballe==posYcarre
      par if(abs(posYballe-posYcarre)<10 , nan ?
      1. Hum... Oui, je vais essayer mais à quoi sert abs?

        Merci de ton aide.
        1. abs, pour obtenir la valeurs absolu de la différence.

          Par contre, c'est Math.abs( et non abs( tout simple je crois.
          1. Salut, merci.

            Comment je pourrais mesurer le temps, faire un chronomètre? Avec quel fonction?
            1. Tu as toujours setTimeOut, qui te permet de lancer une fonction au bout de X temps