[C++, SDL] Menu w grze
Ostatnio zmodyfikowano 2012-11-06 16:49
JategoNwM Temat założony przez niniejszego użytkownika |
[C++, SDL] Menu w grze » 2012-11-04 14:57:37 Witam! wczoraj zaczełem uczyć się biblioteki SDL i na samym początku pisania mojej gierki mam problem. Napisałem menu gry, mam obrazki, wskaźnik i co teraz?? Chce, aby po wciśnięciu ENTER'a rozpoczeła się rogrywka, tylko gdzie ją umieścić?? Mam coś takiego: #include <SDL/SDL.h>
SDL_Surface * ekran = NULL; SDL_Surface * tlo = NULL; SDL_Surface * wskaznik = NULL; SDL_Surface * gracz = NULL;
SDL_Event zdarzenie;
SDL_Rect WskaznikNamiary;
void gra() { <<<<<< Teoretycznie tu ma by ć gra }
bool wyjscie = false;
int main( int argc, char * args[] ) { ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); SDL_WM_SetCaption( "King of the world", NULL ); tlo = SDL_LoadBMP( "TloMenu.bmp" ); wskaznik = SDL_LoadBMP( "Strzalka.bmp" ); WskaznikNamiary.x = 100; WskaznikNamiary.y = 130; 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_DOWN: WskaznikNamiary.y++; break; case SDLK_UP: WskaznikNamiary.y--; break; case SDLK_RETURN: if( WskaznikNamiary.y = 130 ) { gra(); <<<< Niby tu si ę wczytuje ale jako ś nie wida ć zmian break; } if( WskaznikNamiary.y = 200 ) { break; } if( WskaznikNamiary.y = 270 ) { break; } if( WskaznikNamiary.y = 340 ) { SDL_FreeSurface( tlo ); SDL_FreeSurface( wskaznik ); wyjscie = true; SDL_Quit(); return 0; } break; } } } SDL_BlitSurface( tlo, NULL, ekran, NULL ); SDL_BlitSurface( wskaznik, NULL, ekran, & WskaznikNamiary ); SDL_Flip( ekran ); } SDL_FreeSurface( tlo ); SDL_FreeSurface( wskaznik ); SDL_Quit(); return 0; }
|
|
SeaMonster131 |
» 2012-11-04 18:13:51 enum GameMode { menu, gameplay } gamemode;
...
if( gamemode == menu ) wyswietl_menu();
if( gamemode == gameplay ) wyswietl_gameplay();
|
|
JategoNwM Temat założony przez niniejszego użytkownika |
» 2012-11-05 16:11:28 A gdzie to do mojego kodu wrzucić?? Sorki ale tyle mi w szkole zadają, że ciężko się myśli. |
|
DejaVu |
» 2012-11-05 22:39:45 Nie napiszemy za Ciebie gry, a skoro nie wiesz gdzie wstawić podany kod to znaczy, że nie znasz podstaw programowania. W kodzie który podałeś nawet operacje porównania wykonujesz źle... |
|
JategoNwM Temat założony przez niniejszego użytkownika |
» 2012-11-06 16:36:42 Ten kod jest pisany na wzorze twojego kursu :P |
|
ridic14 |
» 2012-11-06 16:44:39 W kursie operacje porównania są poprawnie u ciebie nie... przykład dla nieprzytomnych ... np if( WskaznikNamiary.y = 270 ) if( WskaznikNamiary.y == 270 )
|
|
m4tx |
» 2012-11-06 16:49:15 Ten kod jest pisany na wzorze twojego kursu :P |
Jeśli mówisz o kursie C++, no to cóż - widocznie źle coś zrozumiałeś. Jestem tego samego zdania co DejaVu - powinieneś wrócić do podstaw. Sorki ale tyle mi w szkole zadają, że ciężko się myśli. |
Tja... Żadne wytłumaczenie powiem Ci. W poniedziałki mam 9 lekcji, w ten czwartek mam 3 sprawdziany (o zadaniu domowym już nic nie wspominając) i jakoś nie zrzucam na kogoś obowiązku pisania mojej gry. :) |
|
« 1 » |