Space Battleships #2 : les collisions
Raphael Duchossoy Il y a 3 mois Premium Pro - Adhésion à vie0

Un bon shmup doit être un exercice de reflexes … donc il doit y avoir des obstacles, des ennemis et des tirs partout!

Donc pour gérer ça aux petits oignons, on a besoin de savoir détecter les collisions comme il se doit, alors je vous fait part du système que j’ai mis en place pour notre second module de la formation, dont voici la structure:

Un découpage en partitions, les éléments d’une même partition ne peuvent pas se toucher, donc ça permet d’éliminer du monde:
* Partition 1 -> les collideBox du joueur (vaisseau + tirs)
* Partition 2 -> les collideBox du méchant pas beau, c’est à dire l’alien (vaisseaux, tirs et bonus)
* Partition 3 -> les collideBox du décors de la couche principale (les décors de fonds sont ignorés)

Ensuite un découpage entre collisions fines et lointaines, histoire de ne tester que les éléments à proximité:
* Collisions lointaines, j’ai codé un QuadTree qui permet de rassembler toutes les collideBox dans des cases toujours plus petites en fonction de la densité. Ce quadTree permet ensuite de ne récupérer que l’entourage proche pour tester les collisions fines.
* Collisions fines sont faites de manière traditionnelle, entre cercles et rectangles sans rotation.

Amusez-vous bien

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.