malan |
» 2009-11-27 23:17:00 Znalazłem inne rozwiązanie (niż Pan Piotr), które w moim "programie" działa, tzn. czerwony kwadracik "chodzący" po ekranie nie zamalowuje tła: http://sdl.beuc.net/sdl.wiki/SDL_FillRect, u Ciebie wyglądałoby to mniej więcej tak: SDL_FillRect(ekran,NULL,0); |
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2009-11-28 10:24:59 Dzięki działa. Temat do zamknięcia. |
|
Bartaz Temat założony przez niniejszego użytkownika |
Tekst » 2009-11-28 10:38:50 Aha mam jeszcze jedna pytanie jak w SDL wyświetlic teks bo patrzałem na innej stronie ale nie działa mi ta funkca bo musi byc dodana inna biblioteka chyba. |
|
Proxym |
» 2009-11-28 10:40:30 http://lazyfoo.net/SDL_tutorials/lesson05/index.php
Powinno wystarczyć ;) |
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2009-11-28 11:00:08 Stronka fajna ale szkoda ,żę po Angielsku ale zawsze cos^^. Malan ta funkca co mi podałes :SDL_FillRect(ekran,NULL,0); ,działa ale tylko żeby nie było zamalowywany ekran a z tłem to już gorzej,próbowałem dopisać tu ("tu",NULL,0); coś innego ale wtedy albo się wyświetla sam ekran albo zamiast ludka to czarny prostokąt. |
|
Bartaz Temat założony przez niniejszego użytkownika |
Znowu problem :/ » 2009-11-28 14:20:37 A więc tak mam taki problem(znowu) Chciałem napisać coś podobnego do Ponga Te dwie takie "deski" miały się wyświetlać na ekranie(nie na tle) I tu wszystki jest dobrze ,tylko gdy próbuje zrobić sterowanie do drugiej "deski" to mi wywala taki błąd: 71 C:\Dev-Cpp\main.cpp 'struct SDL_Rect' has no member named 'f' 72 C:\Dev-Cpp\main.cpp 'struct SDL_Rect' has no member named 'g' A tu kod: #include <SDL/SDL.h>
int x = 50; int y = 410; int f; int g; SDL_Surface * ekran = NULL; SDL_Surface * ludek = NULL; SDL_Surface * tlo = NULL;
int SDL_FillRect( SDL_Surface * dst, SDL_Rect * dstrect, Uint32 color ); SDL_Event zdarzenie; SDL_Rect LudekDestination; SDL_Rect TloDestination;
Uint8 * keystate = SDL_GetKeyState( NULL );
bool wyjscie = false; int main( int argc, char * args[] ) { ekran = SDL_SetVideoMode( 900, 700, 32, SDL_SWSURFACE ); ludek = SDL_LoadBMP( "ludek.bmp" ); tlo = SDL_LoadBMP( "tlo.bmp" ); while( !wyjscie ) { while( SDL_PollEvent( & zdarzenie ) ) { if( zdarzenie.type == SDL_QUIT ) { wyjscie = true; } } if( keystate[ SDLK_RIGHT ] ) { x = x + 7; } if( keystate[ SDLK_LEFT ] ) { x = x - 7; } if( keystate[ SDLK_UP ] ) { y = y - 7; } if( keystate[ SDLK_DOWN ] ) { y = y + 7; } if( keystate[ SDLK_f ] ) { f = f + 3; } LudekDestination.x = x; LudekDestination.y = y; TloDestination.f = f; TloDestination.g = g; SDL_FillRect( ekran, NULL, 0 ); SDL_BlitSurface( tlo, NULL, ekran, & TloDestination ); SDL_BlitSurface( ludek, NULL, ekran, & LudekDestination ); SDL_Flip( ekran ); } SDL_FreeSurface( ludek ); SDL_FreeSurface( tlo ); SDL_Quit(); / koniec return 0; } Ludek i Tlo to sa "deski". |
|
malan |
» 2009-11-28 15:02:31 Malan ta funkca co mi podałes: SDL_FillRect(ekran,NULL,0);,działa ale tylko żeby nie było zamalowywany ekran (...) Ups... ;p, masz racje - nie sprawdzałem tego wczoraj pod tym kontem, sory ;). Patrząc na linijkę wyżej w Twoim kodzie to zrobiłby to tak: TloDestination.x = f; TloDestination.y = g;
|
|
DejaVu |
» 2009-11-28 15:03:26 A więc załóż nowy temat, a ten zamknij jeśli został rozwiązany problem opisany w pierwszym poście. Dbaj o jakiś porządek ;) |
|
1 « 2 » |