Grafikfenster mit SDL erzeugen und eine Bilddatei laden
Dieses Programm würde mit der WIN32 um einiges länger ausfallen. SDL macht das Laden von Bilddateien sehr einfach.
#include "SDL.h"
int main ( int argc, char *argv[] )
{
/* Initialisierung */
SDL_Init(SDL_INIT_VIDEO);
/* Fenstertitel */
SDL_WM_SetCaption("capribeach software", 0);
/* Screen bilden */
SDL_Surface* screen = SDL_SetVideoMode(640, 480, 0, 0);
/* Bitmap in eine temporäre Surface laden */
SDL_Surface* temp = SDL_LoadBMP("meerkat.bmp");
/* Bitmap ins Displayformat konvertieren */
SDL_Surface* bg = SDL_DisplayFormat(temp);
/* temporäre Surface freigeben */
SDL_FreeSurface(temp);
SDL_Event event;
int gameover = 0;
/* Game Loop */
while (!gameover)
{
/* Ereignisse abfangen */
if (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_QUIT:
gameover = 1;
break;
/* Tastaturereignisse abfangen */
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case SDLK_ESCAPE:
case SDLK_q:
gameover = 1;
break;
}
break;
}
}
/* Hintergrund zeichnen */
SDL_BlitSurface(bg, NULL, screen, NULL);
/* Screen updaten */
SDL_UpdateRect(screen, 0, 0, 0, 0);
}
/* Hintergrund-Surface freigeben*/
SDL_FreeSurface(bg);
/* SDL aufräumen */
SDL_Quit();
return 0;
}
Das Ergebnis ist eine klassische Fensteranwendung, die per Maus oder Tastatur (ESC) geschlossen werden kann.
CategorySDL
There are no comments on this page. [Add comment]