Collisions

Utilisateur anonyme -  
 Utilisateur anonyme -
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

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
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é.
0
Utilisateur anonyme
 
Hmmm... Intelligent... Merci beaucoup, je vais essayer sa.
0
Utilisateur anonyme
 
Je ne trouve pas comment faire cette fonction...
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Hum... Oui, je vais essayer mais à quoi sert abs?

Merci de ton aide.
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
abs, pour obtenir la valeurs absolu de la différence.

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

Comment je pourrais mesurer le temps, faire un chronomètre? Avec quel fonction?
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Tu as toujours setTimeOut, qui te permet de lancer une fonction au bout de X temps
0
DarkAurora Messages postés 443 Statut Membre 27
 
https://api.jqueryui.com/position/ ce lien pourrait grandement t'aider.
0
Utilisateur anonyme
 
Oui, mais sa ne compte pas comme un chronomètre...
0