1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| #include <stdlib.h>
#include <stdio.h>
#include <sdl/sdl.h>
int main ( int argc , char *argv[])
{
int i=0 ;
SDL_Surface *ecran = NULL , *zozor = NULL ;
SDL_Event event;
SDL_Rect positionzozor[3];
int continuer = 1 ;
SDL_Init(SDL_INIT_VIDEO);
ecran = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
SDL_WM_SetCaption("Zozor En Position",NULL);
zozor = SDL_LoadBMP("zozor.bmp");
SDL_SetColorKey(zozor,SDL_SRCCOLORKEY,SDL_MapRGB(zozor->format,0,0,255));
for ( i= 0 ; i< 3 ; i++)
{
positionzozor[0].x = ecran -> w / 2 - zozor -> w / 2 ;
positionzozor[0].y = ecran -> h / 2 - zozor -> h / 2 ;
positionzozor[1].x = ecran -> w / 4 - zozor -> w / 2 ;
positionzozor[1].y = ecran -> h / 4 - zozor -> h / 2 ;
positionzozor[2].x = ecran -> w / 8 - zozor -> w / 2 ;
positionzozor[2].y = ecran -> h / 4 - zozor -> h / 2 ;
}
while(continuer)
{
SDL_WaitEvent (&event);
switch(event.type)
{
case SDL_QUIT :
continuer = 0 ;
break ;
case SDL_MOUSEMOTION :
for(i=0;i<3;i++)
{
positionzozor[i].x = event.motion.x;
positionzozor[i].y = event.motion.y;
}
break;
}
break;
SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,255,255,255));
for(i=0;i<3;i++)
SDL_BlitSurface(zozor,NULL,ecran,&positionzozor[i]);
SDL_Flip(ecran);
}
SDL_FreeSurface(zozor);
SDL_Quit();
return EXIT_SUCCESS;
} |
Partager