Collisions

Fermé
Utilisateur anonyme - 22 nov. 2012 à 06:06
 Utilisateur anonyme - 24 nov. 2012 à 02:01
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 vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
22 nov. 2012 à 08:31
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
22 nov. 2012 à 10:14
Hmmm... Intelligent... Merci beaucoup, je vais essayer sa.
0
Utilisateur anonyme
23 nov. 2012 à 00:58
Je ne trouve pas comment faire cette fonction...
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
23 nov. 2012 à 08:39
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
23 nov. 2012 à 11:01
Hum... Oui, je vais essayer mais à quoi sert abs?

Merci de ton aide.
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 23/11/2012 à 12:28
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
23 nov. 2012 à 12:32
Salut, merci.

Comment je pourrais mesurer le temps, faire un chronomètre? Avec quel fonction?
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
23 nov. 2012 à 17:24
Tu as toujours setTimeOut, qui te permet de lancer une fonction au bout de X temps
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
23 nov. 2012 à 21:23
https://api.jqueryui.com/position/ ce lien pourrait grandement t'aider.
0
Utilisateur anonyme
24 nov. 2012 à 02:01
Oui, mais sa ne compte pas comme un chronomètre...
0