Probleme avec SDL pour bouger une image

Résolu/Fermé
Utilisateur anonyme - 26 mars 2008 à 21:29
 loka - 1 avril 2008 à 13:33
Bonjour,
Je suis entrain de faire un jeu en SDL, dedans il y a un personage(poulet) qui est censé avancé quand on appuie sur les fleches directionnelles mais voila ca marche pas. Voila les morceau de code important:


int main(int argc, char *argv[])
{


//ca c'est tout ce qui est initialisation video et image fond, ca marche
InitialisationVideo();
InitialisationGraphique();


// ca ca charge le fichier image, et positionne au bon endroit, la definition est en dessous
InitPoulet(chikix, 50,500,"img/poulet/pouletbaseG.bmp");

while (continuer)
{
SDL_PollEvent(&(event2));
switch(event2.type)
{

case SDL_KEYDOWN:
switch(event2.key.keysym.sym)
{

/* ... la il y a les autre touches ..., chikix c'est le personage, sa structure est en bas*/
case SDLK_LEFT:
chikix.position.x-=10;
break;
}
break;
}


//donc la ca repositionne le poulet au bon endroit apres avoir changer sa position
SDL_BlitSurface(chikix.img, NULL, ecran, &(chikix.position));
SDL_Flip(ecran);
}
return 0;
}


STRUCTURE DU PERSONNAGE:
struct Poulet{
SDL_Rect position;
SDL_Surface *img;
};

DEFINITION DE SA FONCTION D'INITIALISATION:
void InitPoulet(Poulet poulet, int x, int y, char fichier[50])
{

poulet.img = IMG_Load(fichier);
//la transparence
SDL_SetColorKey(poulet.img, SDL_SRCCOLORKEY, SDL_MapRGB(poulet.img->format, 0, 0, 255));

//sa position
poulet.position.x=x;
poulet.position.y=y;

//son affichage
SDL_BlitSurface(poulet.img, NULL, ecran, &(poulet.position));
SDL_Flip(ecran);

}

Et le poulet n'avance pas, pourquoi ?
A voir également:

1 réponse

Bonjour,

Peut être que ce tuto t'aidera :
https://loka.developpez.com/tutoriel/sdl/mouvements/
1