Après quelques recherches, finalement, je pense que le pixel perfect n´est franchement pas nécessaire dans mon cas, même surement inutile étant donés les sprites.
Je vais donc simplement détecter les collisions grâce à cet algorithme (merci JYY) :
int Collisions(SDL_Surface *a, SDL_Surface *b)
{
if (b->x >= a-> + a->w)
|| (b->x + b-> w <= a->x)
|| (b->y >= a->y + a->h)
|| (b->y + b->h <= a->x)
}
return 0;
return 1;
}
Mais auparavant j´aurais besoin d´aide. Je vous explique :
La map est faite :
- d´un background d´"herbe" (une image de la taille de l´écran de jeu).
- de sprites collés sur ce background. Pour "coller" ces sprites. Seulement la map a été faite à partir d´un éditeur. pour passer de l´un à l´autre, je suis donc passé par un fichier, en inscrivant les coordonnées, et tout ce qu´il fallait. Maintenant, quand je colle ces sprites dans le jeu, je fais un simple BlitSurface. Il me faut donc un moyen de "marquer" que cette zone-ci est un sprite, alors que cette zone-là est de l´herbe.
Ce ne sont pas les idées qui me manquent, mais elles me paraissent toutes aussi "lourdes" et peu rapides les unes que les autres. Je voudrais donc savoir comment vous feriez pour "marquer" les sprites, afin que je puisse ensuite détecter les collisions.
Merci d´avance