MENU W SDL
Ostatnio zmodyfikowano 2013-01-01 18:01
MeGameOne Temat założony przez niniejszego użytkownika |
MENU W SDL » 2012-12-31 14:06:37 witam wszystkich Uczę się ostatnio biblioteki SDL . Potrafie już np. wyswietlac grafikę,rysować figury, nawet nauczyłem sie doskonale obsługiwać klawiaturę i myszke , ale nie mam zielonego pojęcia jak zrobić to menu , aby w tym samym oknie wyświetlić np gre albo reszte menu. Sorki ze pisze tak nie estetycznie, ale na tablecie to nie to samo co na kompie . Pozdrawiam |
|
mactec |
» 2012-12-31 14:11:16 NP. Wyświetl sobie buttony na ekranie a potem obsłuż je. np jak wjedziesz myszką na button exit i naciśniesz LPM to się gra wyłączy, i tak dalej obsłuż resztę buttonów. |
|
MeGameOne Temat założony przez niniejszego użytkownika |
» 2012-12-31 16:45:57 Właśnie potrafię to zrobić ale gorzej z tym żeby zmieniać wygląd danego okna; np. Wybierasz ustawienia i wtedy poprzedni obraz powinien zniknąć a powinien pojawić sie obraz opcji, wie moze ktos jak by mozna bylo osiągnąć dany efekty, a moze jest jakaś funkcja umożliwiająca czyszczenie ekranu i nie chodzi mi o system("cls") . Z góry; dzięki |
|
mactec |
» 2012-12-31 16:51:03 W SDL'u nie masz czyszczenia, musisz wyświetlić coś na tamtym co było np tło. |
|
Mike148 |
» 2012-12-31 17:01:09 |
|
MeGameOne Temat założony przez niniejszego użytkownika |
» 2012-12-31 17:06:52 Ale jakoś te buttony muszą znikac. |
|
Mike148 |
» 2012-12-31 17:17:34 SDL super dokładnie nie znam ale o ile się nie mylę to rysując buttony, ty je składasz do kupy z video surface za pomocą SDL_Blit(). Jak wyczyścisz powierzchnię ekranu to buttony znikną o ile ich znowu nie narysujesz. Zrób to mniej więcej tak (na szybko z głowy) void menu1() { }
void menu2() { }
while( true ) { SDL_FillRect( screen, NULL, 0x221122 ); int menuState; switch( menuState ) { case 1: menu1(); break; case 2: menu2(); break; case 0: break; } }
menuState możesz sobie zastąpić jakimś enumem (będzie czytelniej) |
|
mactec |
» 2012-12-31 17:21:27 To jak nie wiesz jak takie rzeczy zrobić to się poucz podstaw, ale Ci troche podpowiem: int level = 1;
switch( level ) { case 1: break; case 2: break; }
I dajmy robisz coś takiego, że po wciśnięciu start wartość level zmienia się na 2. |
|
« 1 » 2 |