Probleme avec SDL pour bouger une image
Résolu
Utilisateur anonyme
-
loka -
loka -
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 ?
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:
- Probleme avec SDL pour bouger une image
- Insérer une image dans word sans bouger le texte - Guide
- Légender une image - Guide
- Image iso - Guide
- Image en 3d qui bouge - Télécharger - Thèmes & Fonds d'écran
- Reduire taille image - Guide