Re: expected semikolon bei Default Parametern
Verfasst: Di Mai 21, 2013 2:34 pm
Ich habe bezüglich das Programm weiter überarbeitet. so weit so gut
Das Problem was ich nun habe,ist die Animation zu stoppen ohne das Programm abzubrechen.
Wie ihr im Screenhot sieht ist der Junge ganz links unten in der Ecke. Er ist von der Rutsche bis zum unteren Eck des Bildes gerutscht.
Nun weiss ich nicht wie ich das Stoppen kann.
Das Problem was ich nun habe,ist die Animation zu stoppen ohne das Programm abzubrechen.
Wie ihr im Screenhot sieht ist der Junge ganz links unten in der Ecke. Er ist von der Rutsche bis zum unteren Eck des Bildes gerutscht.
Nun weiss ich nicht wie ich das Stoppen kann.
Code: Alles auswählen
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
const int frames_per_second= 20;
SDL_Surface* Hintergrund = NULL;
SDL_Surface* garten = NULL;
SDL_Surface* kind = NULL;
SDL_Event Event;
int startmember = 0,pausemember = 0;
bool pausmember = false,starmember = false;
int x = 88,y = 170;
int xVel = 0, yVel = 0;
void start()
{
starmember=true;
pausmember=false;
startmember=SDL_GetTicks();
}
int get_ticks()
{
if( starmember == true )
{
return SDL_GetTicks() - startmember;
}
return 0;
}
void autobewegung()
{
int z=5,w=5;
xVel+=z;
yVel+=w;
}
void move()
{
x += xVel;
//Move the dot up or down
y += yVel;
}
void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip = NULL )
{
//Holds offsets
SDL_Rect offset;
//Get offsets
offset.x = x;
offset.y = y;
//Blit
SDL_BlitSurface(source, clip, destination, &offset );
}
void show()
{
apply_surface(x,y,kind,Hintergrund);
}
int main(int argc,char* argv[])
{
bool quit=false;
SDL_Init(SDL_INIT_EVERYTHING);
Hintergrund = SDL_SetVideoMode(640,480,0,SDL_ANYFORMAT);
garten = IMG_Load("Garten.jpg");
kind = IMG_Load("Kind.jpg");
SDL_SetColorKey(kind,SDL_SRCCOLORKEY,SDL_MapRGB(kind->format,255,255,255));
while( quit == false )
{
start();
while(SDL_PollEvent(&Event))
{
autobewegung();
}
SDL_BlitSurface(garten,0,Hintergrund,0);
show();
move();
SDL_Flip(Hintergrund);
if( get_ticks() < 1000 / frames_per_second )
{
SDL_Delay( ( 1000 / frames_per_second ) - get_ticks() );
}
}
SDL_Quit();
return(0);
}