Bonjour,
Je dois faire un jeu vidéo (space shooter a la rtype) avec la librairie Allegro 4, et je me pose une question. Ce jeu implique des collisions entre entités, et je suis parti sur un principe de map de collision (hitbox). Chaque entité a deux donc deux images, celle que j'affiche à l'écran, et une autre image où je reprends uniquement les contours de l'entité d'une couleur bien spéciale.
Le rose/violet c'est la transparence dans Allegro.
Ainsi je parcours toute l'image, et dès que je suis sur une bordure je regarde les 4 pixels adjaçents et s'ils ne sont pas transparents, c'est qu'il y a collision.
Seulement voilà, quand il n'y a pas de collision, le programme parcourt tout le sprite, et fais donc beaucoup de getpixel() (fonction qui récupère la couleur d'un pixel). Cela marche très bien avec des petits sprites, mais quand ils sont plus gros, le programme lag.
Alors voilà, après vous avoir présenté ma méthode, est-ce que certains d'entre vous auraient des conseils ou d'autres idées d'algorithmes aussi efficaces (détection au pixel près) mais plus rapide?