Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SDL/SDL.h>
- int main(int argc, char *argv[])
- {
- SDL_Surface *Ekran, *Obrazek[3];
- SDL_Event Komunikat;
- char *Nazwa_obrazka[3]={"1.bmp","2.bmp","3.bmp"};
- int Koniec=0, i, a, b;
- if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO))
- {
- printf("Co¶ poszło nie tak: %s\n",SDL_GetError());
- }
- else
- {
- if(!(Ekran=SDL_SetVideoMode(640,480,24,SDL_ANYFORMAT)))
- {
- printf("Co¶ poszło nie tak: %s\n",SDL_GetError());
- }
- else
- {
- SDL_WM_SetCaption("Program 19","Program 19");
- for(i=0;i<3;i++)
- {
- if(!(Obrazek[i]=SDL_LoadBMP(Nazwa_obrazka[i])))
- {
- break;
- }
- }
- if(i<3)
- {
- printf("Co¶ poszło nie tak: %s\n",SDL_GetError());
- }
- else
- {
- for(i=0;i<3;i++)
- {
- if((Obrazek[i]->format->palette)&&(Ekran->format->palette))
- {
- SDL_SetColors(Ekran,Obrazek[i]->format->palette->colors,0,Obrazek[i]->format->palette->ncolors);
- }
- }
- for(i=0;i<255;i++)
- {
- if((SDL_PollEvent(&Komunikat))&&(Komunikat.type)==(SDL_QUIT))
- {
- Koniec=1;
- break;
- }
- SDL_SetAlpha(Obrazek[0],SDL_SRCALPHA,i);
- SDL_FillRect(Ekran,NULL,SDL_MapRGB(Ekran->format,0,0,0));
- SDL_BlitSurface(Obrazek[0],NULL,Ekran,NULL);
- SDL_UpdateRect(Ekran,0,0,640,480);
- SDL_Delay(5);
- }
- a=-1;
- b=0;
- while(!Koniec)
- {
- a++;
- if(a>2)
- {
- a=0;
- }
- b++;
- if(b>2)
- {
- b=0;
- }
- for(i=0;i<255;i++)
- {
- if((SDL_PollEvent(&Komunikat))&&(Komunikat.type)==(SDL_QUIT))
- {
- Koniec=2;
- break;
- }
- SDL_SetAlpha(Obrazek[b],SDL_SRCALPHA,i);
- SDL_BlitSurface(Obrazek[a],NULL,Ekran,NULL);
- SDL_BlitSurface(Obrazek[b],NULL,Ekran,NULL);
- SDL_UpdateRect(Ekran,0,0,640,480);
- SDL_Delay(5);
- }
- }
- if((Koniec==2)&&(i<255))
- {
- for(;i<255;i++)
- {
- if((SDL_PollEvent(&Komunikat))&&(Komunikat.type)==(SDL_QUIT))
- {
- Koniec=3;
- break;
- }
- SDL_SetAlpha(Obrazek[b],SDL_SRCALPHA,i);
- SDL_BlitSurface(Obrazek[a],NULL,Ekran,NULL);
- SDL_BlitSurface(Obrazek[b],NULL,Ekran,NULL);
- SDL_UpdateRect(Ekran,0,0,640,480);
- SDL_Delay(5);
- }
- }
- for(;(Koniec<3)&&(i>=0);i--)
- {
- if((SDL_PollEvent(&Komunikat))&&(Komunikat.type)==(SDL_QUIT))
- {
- break;
- }
- SDL_SetAlpha(Obrazek[b],SDL_SRCALPHA,i);
- SDL_FillRect(Ekran,NULL,SDL_MapRGB(Ekran->format,0,0,0));
- SDL_BlitSurface(Obrazek[b],NULL,Ekran,NULL);
- SDL_UpdateRect(Ekran,0,0,640,480);
- SDL_Delay(5);
- }
- }
- for(i=0;i<3;i++)
- {
- if(Obrazek[i])
- {
- SDL_FreeSurface(Obrazek[i]);
- }
- }
- SDL_FreeSurface(Ekran);
- }
- SDL_Quit();
- }
- return(0);
- }
Add Comment
Please, Sign In to add comment