#include <stdio.h>
#include <stdlib.h>
#include "SDL/SDL.h"
#include "SDL_ttf.h"
#include "Collision.h"
#include "SDL/SDL_image.h"
#include "Click.h"
int main (void)
{
SDL_Surface *screen, *tmp, *pic, *BG, *backg;
SDL_Event e;
SDL_Rect rect, bgr;
Uint8 *alle_tasten;
int quit = 0;
if (SDL_Init (SDL_INIT_VIDEO) == -1)
{
fprintf (stderr, "Kann SDL nicht initialisieren: %s\n", SDL_GetError ());
exit (1);
}
if(TTF_Init()==-1)
{
printf("TTF_Init: %s\n", TTF_GetError());
return 2;
}
screen = SDL_SetVideoMode(1280, 1024, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("Jack Lumber","Jack Lumber");
atexit (SDL_Quit);
if (screen == NULL)
{
fprintf (stderr, "Video Modus kann nicht eingerichtet werden: %s\n", SDL_GetError());
exit (1);
}
if ((BG = IMG_Load ("BG.png")) == NULL)
{
fprintf (stderr, "Bild konnte nicht geladen werden: %s\n", SDL_GetError());
exit (EXIT_FAILURE);
}
if ((tmp = IMG_Load ("Jack.png")) == NULL)
{
fprintf (stderr, "Bild konnte nicht geladen werden: %s\n", SDL_GetError());
exit (EXIT_FAILURE);
}
SDL_SetColorKey(tmp, SDL_SRCCOLORKEY, SDL_MapRGB (tmp->format, 255, 255, 255));
backg = SDL_DisplayFormat (BG);
pic = SDL_DisplayFormat (tmp);
rect.x = 10;
rect.y = 800;
rect.w = 225;
rect.h = 325;
SDL_BlitSurface(backg, NULL, screen, &bgr);
SDL_BlitSurface(pic, NULL, screen, &rect);
SDL_UpdateRect (screen, rect.x, rect.y, rect.w, rect.h);
SDL_UpdateRect (screen, bgr.x, bgr.y, bgr.w, bgr.h);
SDL_Surface *sBtn1,*blab;
int *my, *mx;
Uint8 knoepfe;
int done=0;
SDL_Event clicky;
SDL_Rect Btn1;
Btn1=NewBtn(100, 100, 200, 100);
sBtn1=IMG_Load("Button.png");
blab=SDL_DisplayFormat (sBtn1);
SDL_BlitSurface(blab,NULL,screen,&Btn1);
SDL_UpdateRect (screen, Btn1.x, Btn1.y, Btn1.w, Btn1.h);
SDL_BlitSurface(blab,NULL,screen,&Btn1);
while(done==0)
{
SDL_PollEvent (&clicky);
knoepfe = SDL_GetMouseState(mx,my);
if (knoepfe & SDL_BUTTON (SDL_BUTTON_LEFT))
{
int testit=BtnCheck(mx,my,Btn1);
if (testit==1)
{
done=1;
}
}
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));;
SDL_BlitSurface(blab,NULL,screen,&Btn1);
SDL_Flip(screen);
}
SDL_EnableKeyRepeat (SDL_DEFAULT_REPEAT_DELAY, 1);
while (!quit)
{
SDL_PollEvent (&e);
alle_tasten = SDL_GetKeyState (NULL);
if (alle_tasten [SDLK_ESCAPE])
quit = 1;
if (alle_tasten [SDLK_LEFT])
bgr.x-=10;
if (alle_tasten [SDLK_RIGHT])
bgr.x+=10;
if (alle_tasten [SDLK_UP])
bgr.y-=10;
if (alle_tasten [SDLK_DOWN])
bgr.y+=10;
if (alle_tasten [SDLK_SPACE])
{
}
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));;
SDL_BlitSurface(backg, NULL, screen, &bgr);
SDL_BlitSurface(pic, NULL, screen, &rect);
SDL_Flip(screen);
}
SDL_FreeSurface(tmp);
return 0;
}
Hier noch mal der gesamte code.