Salut à tous
Voici un peu de programmation pour ceux que cela intéresse.
#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
void pause()
{
SDL_Event event;
do
{
SDL_WaitEvent(&event);
}while(event.type != SDL_QUIT);
}
int main(int argc, char *argv[])
{
int continuer =1;
SDL_Surface *ecran = NULL, *imageDeFond = NULL,*zozor = NULL;
SDL_Rect positionFond, positionzozor;
positionFond.x = 0;
positionFond.y = 0;
positionzozor.x = 140;
positionzozor.y = 150;
SDL_Event event;
SDL_Init(SDL_INIT_VIDEO |SDL_INIT_JOYSTICK |SDL_JOYAXISMOTION);
SDL_WM_SetIcon(SDL_LoadBMP("cb.bmp"), NULL);
ecran = SDL_SetVideoMode(800, 640, 32, SDL_HWSURFACE| SDL_DOUBLEBUF | SDL_RESIZABLE);
SDL_WM_SetCaption("Mon programme en SDL", NULL);
imageDeFond = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
zozor= SDL_LoadBMP("zozor.bmp");
SDL_SetColorKey(zozor, SDL_SRCCOLORKEY, SDL_MapRGB(zozor->format, 0, 0, 255));
SDL_BlitSurface(zozor, NULL, ecran, &positionzozor);
SDL_Flip(ecran);
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
continuer =1;
break;
case SDL_JOYAXISMOTION:
if (event.jaxis.axis == 0 && event.jaxis.value < -3200) /* Vers la gauche */
positionzozor.x--;
else if (event.jaxis.axis == 0 && event.jaxis.value > 3200) /* Vers la droite */
positionzozor.x++;
else if (event.jaxis.axis == 1 && event.jaxis.value < -3200) /* Vers le haut */
positionzozor.y--;
else if (event.jaxis.axis == 1 && event.jaxis.value > 3200) /* Vers le bas */
positionzozor.y++;
break;
case SDL_VIDEORESIZE:
positionzozor.x = event.resize.w / 2 - zozor->w / 2;
positionzozor.y = event.resize.h / 2 - zozor->h / 2;
break;
}
}
SDL_Quit();
return EXIT_SUCCESS;
}
Je te conseille d'(aller dans le site du zéro