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

SDL Problem z ludkiem i tłem

Ostatnio zmodyfikowano 2009-11-28 15:03
Autor Wiadomość
Bartaz
Temat założony przez niniejszego użytkownika
SDL Problem z ludkiem i tłem
» 2009-11-26 21:41:58
Witam mam taki problem napisałem sobie kod , który ma wyswietlić ludka na tle a ten ludek po tym tle miał by chodzić,a robi sie tak, że wyswietla sie albo sam ludek na ekranie albo samo tło ktprym także można ruszac jak ludkiem co jest żle?
Oto kod:
C/C++
#include <SDL/SDL.h>
SDL_Surface * ekran = NULL;
SDL_Surface * ludek = NULL;
SDL_Surface * tlo = NULL;
SDL_Event zdarzenie;
SDL_Rect LudekDestination;
Uint8 * keystate = SDL_GetKeyState( NULL );
int x;
int y;
bool wyjscie = false;
int main( int argc, char * args[] )
{
    ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    ludek = SDL_LoadBMP( "tlo.bmp" );
    ludek = SDL_LoadBMP( "ludek.bmp" );
   
   
   
   
    while( !wyjscie )
    {
        while( SDL_PollEvent( & zdarzenie ) )
        {
            if( zdarzenie.type == SDL_QUIT )
            {
                wyjscie = true;
            }
        }
        if( keystate[ SDLK_RIGHT ] )
        {
           
           
           
           
           
            x++;
        }
        if( keystate[ SDLK_LEFT ] )
        {
           
            x--;
        }
        if( keystate[ SDLK_UP ] )
        {
            y--;
        }
        if( keystate[ SDLK_DOWN ] )
        {
            y++;
        }
       
        LudekDestination.x = x;
        LudekDestination.y = y;
        SDL_BlitSurface( ludek, NULL, ekran, & LudekDestination );
        SDL_BlitSurface( ludek, NULL, ludek, NULL );
       
        SDL_Flip( ekran );
       
    }
    SDL_FreeSurface( ludek );
    SDL_Quit();
    return 0;
}


P-11805
malan
» 2009-11-26 22:12:41
Nie pomyliłeś zmiennych czasem ?
C/C++
ludek = SDL_LoadBMP( "tlo.bmp" ); // powinno być chyba...
// ...tlo=SDL_LoadBMP("tlo.bmp");
ludek = SDL_LoadBMP( "ludek.bmp" );
P-11806
Bartaz
Temat założony przez niniejszego użytkownika
...
» 2009-11-26 22:22:52
Ale to nic nie dało nadal wyświetla sie ludek na ekranie(nie na tle)
Morzesz napisac poprawiony kod?
P-11808
malan
» 2009-11-26 22:26:09
Nie mogę, ponieważ nie znam SDL, ale może spróbuj tak:
C/C++
SDL_BlitSurface( ludek, NULL, tlo, & LudekDestination );
SDL_BlitSurface( tlo, NULL, ekran, NULL );

SDL_Flip( ekran );
P-11809
Bartaz
Temat założony przez niniejszego użytkownika
Działa!!!
» 2009-11-26 22:28:39
Już działą,teraz tylko muszę sie pomęczyc żeby chodzżcy ludek nie zamalowywał tża swoim tłem.
Dzieki.
P-11810
Bartaz
Temat założony przez niniejszego użytkownika
...
» 2009-11-27 09:25:52
Może ktos wie jak to zrobić?
P-11812
DejaVu
» 2009-11-27 11:20:21
Zapewne trzeba mieć plik *.png z przeźroczystością.
P-11813
Bartaz
Temat założony przez niniejszego użytkownika
» 2009-11-27 21:04:56
A morzesz dokładnie powiedzieć jak to zrobić?
P-11824
« 1 » 2
  Strona 1 z 2 Następna strona