Witam w SDL siedzę od 4h i mam problem przy pewnym programiku.
Mianowicie program ma za zadanie przemieszać bitmape po ekranie przy pomocy strzałek a przycisk "C" z założenia wyśrodkowywać bitame na obszarze programu.
Ale zamiast przenosić starą to wkleją ją w tło i tworzy nową bitmape na podanych współrzędnych.

 
#include <SDL.h>

bool wyjscie = false;
int OsY;
int OsX;
SDL_Event zdarzenie;
SDL_Rect LudekPozycja;
#undef main
int main(int argc,char *args[])
{
	SDL_Surface *ekran = SDL_SetVideoMode(640,480,32,SDL_SWSURFACE);
	SDL_Surface *ludek = SDL_LoadBMP("ludek.bmp");
		

	while(!wyjscie)
	{
		while(SDL_PollEvent (&zdarzenie) )
		{
			if(zdarzenie.type == SDL_QUIT)
				wyjscie = true;
			if(zdarzenie.type == SDL_KEYDOWN)
			{
				switch(zdarzenie.key.keysym.sym)
				{
				case SDLK_RIGHT:
					OsX+=20;
					break;
				case SDLK_LEFT:
					OsX-=20;
					break;
				case SDLK_UP:
					OsY-=20;
					break;
				case SDLK_DOWN:
					OsY+=20;
					break;
/////////////////////////////////////////////////////////////////////////
				//     case SDLK_c:
					//SDL_Surface *czarno = SDL_LoadBMP("e0.bmp");
// tu próba zasłonięcia 
// byłej bitmapy	         //SDL_BlitSurface(czarno,0,ekran,0);
					//SDL_Flip(ekran);
				//	OsX = 320;
				//	OsY = 240;
				//	break;
////////////////////////////////////////////////////////////////////////////////////
				}
			}

		}
		LudekPozycja.x = OsX;
		LudekPozycja.y = OsY;
		SDL_BlitSurface(ludek,0,ekran,&LudekPozycja);
		SDL_Flip(ekran);

	}
	SDL_FreeSurface(ludek);
	SDL_Quit();
	return 0;
}

Próbowałem zasłaniać cały obszar roboczy czarnym tłem jednak nie pomaga.
Problem jest pewnie banalny jednak prosiłbym o pomoc;p