Coucou,
J´ai bien fait comme tu m´as dit pour vérifier que je ne cogne pas un mur et ça fonctionne.
Ce que j´ai fait :
Xglobal=rect1.x+Xoffset;
Yglobal = rect1.y+Yoffset;
Xminimap=Xglobal/W;
Yminimap=Yglobal/H;
avec rect1 la SDL_rect qui correspond au pac.
Ensuite, je calcule en fonction de la dernière direction tapée si le pixel est bleu. Si je vais à droite, je délimite une surface engobante à droite de rect1.
Si je vais à gauche, je calcule à sa gauche, etc.
case 1: / /a droite
for(a=Xminimap-1;a<Xminimap+4;a++){
for(b=Yminimap-1;b<Yminimap+3;b++){
Uint32 pix3 = Pixel(level,a,b,2);
if ( pix3 == 255) global_data=1;
else global_data=0;
}
}
La boucle n´est pas terrible mais j´y suis allé à tatons et je modifierai ça quand j´aurai bien compris.
Mais lorsque je vais vers le haut ou vers le bas, ça déconne... J´ai beau étirer la surface englobante, je n´ai aucun changement.
Je crois que je n´ai pas réussi à trouver l´origine des repères. Pour la map, c´est le coin haut gauche de l´écran mais pour l´image de pacman dans la map ?
Merci !