Bonjour à tous !
Je rencontre un problème depuis plusieurs jours et j'ai besoin de votre aide.
Je suis actuellement en train de développer un petit jeu en html/javascript (canvas) et je débute par quelques problèmes de physique. Pour l'occasion, j'ai acheté l'excellent livre "HTML 5 Animation with Javascript" de Billy Lamberta et Keith Peters.
Dans mon jeu, chaque joueur contrôle une boule. Pour le moment, je veux simplement régler les problèmes de physique :
- collision avec un mur
- collision entre deux boules
Le déplacement se fait à la souris : la boule se déplace vers le curseur de la souris. La vélocité d'une boule est donc perpétuellement changé (sa direction et sa vitesse, donc).
C'est la collision entre deux boules qui me pose problème, je veux obtenir le comportement suivant :
- si une boule A de masse 10 rencontre une boule B de masse 5, la boule B est projeté par la boule A. Ça me semble facile, il suffit de la faire rebondir dessus. Je ne recherche pas d'aide sur cette partie-ci.
- si deux boules A et B de même masse se rencontrent, voici le comportement que j'aimerais adopter :
Les boules ne doivent pas se rebondir dessus, elles doivent simplement s'éviter : les deux doivent simplement "glisser" les unes sur les autres.
Ca semple évident et facile mais je ne parviens pas à créer cet effet et je ne parviens pas à trouver d'exemple sur internet... peut-être que je n'utilise pas les bons mots clés. Tout le monde semble vouloir créer du rebond, pas moi.
Je ne vous demande pas de code mais simplement des indications générales sur le principe à adopter. Qu'est-ce qui est le plus propre ? Comment mettre à jour les vélocités des boules A et B (a.vx, a.vy, b.vx, b.vy) ?
Merci d'avance !
Ephysio
Partager