J’ai constaté qu’il y a souvent des questions relatives aux collisions. J’ai donc créé 3 petits programmes en love2d/lua qui présentent des algorithmes de collisions.

N’oubliez pas que les fichiers que je vous donne, étant en .love, peuvent être dézippés pour accéder aux sources. Pour ceux qui ne savent pas encore comment faire, il leur suffira de renommer le fichier en remplaçant .love par .zip. Et pour que ça soit possible, il faut qu’il aient désactiver la case « Masquer les extensions des fichiers dont le type est connu ».

Revenons aux collisions.

  • Les collisions par cercles peuvent également être nommée collisions par distance, voir par proximité. Si la distance entre les centres des objets sont inférieurs à une certaine valeur (en général la somme des rayons de deux cercles) alors on considère qu’il y a collision.
  • Les collisions rectangulaires prennent pour principes de vérifier si les coins d’un rectangle sont à l’intérieur des coins d’un autre rectangle.
  • Et les collisions de polygones. Pour ce faire, j’ai utilisé l’algorithme dit du Héron. Algo qui compare des aires pour déterminer si un point P est dans un triangle [ABC]. Je me suis basé sur un article sur Wikipedia, cherchez la méthode du Héron.

Voici le lien Dropbox du dossier contenant les fichiers : Collisions

Bon code à vous !

Comments (4)

Je vous ai ajouté dans le dossier un Collisions.love qui, une fois dézippé, vous donnera accès à une librairie de détections de collisions que je vous met à disposition.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.