Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++, SDL] Obiekt przy poruszaniu się zostawia 'ślad'

Ostatnio zmodyfikowano 2015-01-25 18:07
Autor Wiadomość
jonyhdtv2
Temat założony przez niniejszego użytkownika
[C++, SDL] Obiekt przy poruszaniu się zostawia 'ślad'
» 2015-01-24 20:01:40
Witam!

Próbując zaprogramować ruch bitmapy po ekranie, natknąłem się na problem - Obiekt przy poruszaniu się 'zostawia ślad'. Podejrzewam, że nakładają się na siebie coraz nowsze wersje bitmapy. Kod jest identyczny jak w kursie z obsługi klawiatury. Jak zrobić aby ruch był niezależny( nie zostawiał śladu ).

C/C++
#include <SDL.h>
SDL_Surface * ekran = NULL;
SDL_Surface * ludek = NULL;
SDL_Event zdarzenie;
SDL_Rect LudekDestination;
Uint8 * keystate = SDL_GetKeyState( NULL );
int x;
bool wyjscie = false;
int main( int argc, char * args[] )
{
    ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    ludek = SDL_LoadBMP( "ludek.bmp" );
    while( !wyjscie )
    {
        while( SDL_PollEvent( & zdarzenie ) )
        {
            if( zdarzenie.type == SDL_QUIT )
            {
                wyjscie = true;
            }
        }
        if( keystate[ SDLK_RIGHT ] )
        {
            x++;
        }
        LudekDestination.x = x;
        SDL_BlitSurface( ludek, NULL, ekran, & LudekDestination );
        SDL_Flip( ekran );
    }
    SDL_FreeSurface( ludek );
    SDL_Quit();
    return 0;
}
P-125499
DejaVu
» 2015-01-24 22:08:31
Nie czyścisz ekranu.
P-125502
jonyhdtv2
Temat założony przez niniejszego użytkownika
» 2015-01-25 17:05:43
To w takim razie jak zrobić, żeby obiekt nie zostawiał śladu?
P-125531
DejaVu
» 2015-01-25 17:32:42
... Ty chyba teraz żartujesz...
P-125533
NopeDotAvi
» 2015-01-25 18:07:04
musisz czyścić bufor
P-125536
« 1 »
  Strona 1 z 1