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

GUI (menu)

Ostatnio zmodyfikowano 2008-05-04 19:29
Autor Wiadomość
Ju1ian
Temat założony przez niniejszego użytkownika
GUI (menu)
» 2008-05-03 10:54:22
No właśnie zastanawiałem się, jak stworzyć menu... Wymyśliłem sobie taki oto kod:
C/C++
while( TRUE ) {
    if( mx < przycisk_x && mx > przycisk_x + przycisk->w && my > przycisk_y && my < przycisk_y + przycisk->h && mb == 1 ) {
        break;
    }
}
[...]
//tutaj wyświetlam bitmapy:
masked_blit( przycisk, bufor, 0, 0, przycisk_x, przycisk_y, przycisk->w, przycisk->h );
To wogóle nie działa, tylko wyświetla się nicość na ekranie ;/ Czy można to zrobić jakoś inaczej? To jest do mojej gry, pewnie Piotr pamięta (ta platformówka) ;).
P-588
DejaVu
» 2008-05-03 13:17:40
C/C++
for(;; ) //pętla nieskończona => podobnie jak while(1)
{
    //tutaj sprawdzanie if'ów różnych różniastych
    if(...) // czy mysz w polu przycisku
    {
        if(...) // czy kliknięto
        {
            //albo:
            break; //<- wyjście z pętli (dla przycisku QUIT)
            //albo:
            uruchomGre(); // <- funkcja, której przykład daję poniżej
           
        }
    }
    //Tutaj wyświetlanie grafiki
}
Kod funkcji uruchomGre():
C/C++
void uruchomGre()
{
    int zycia = 3;
    for(;; )
    {
        //tu obsługa gry
       
        //tu wyświetlanie grafiki
        if( zycia == 0 ) break;
       
    }
    //wypisz: przegrałeś
}
P-590
Ju1ian
Temat założony przez niniejszego użytkownika
» 2008-05-03 13:19:30
Ok, ale czy dobrze zrobiłem sprawdzanie, czy myszka jest w polu przycisku?
Wyświetlenie wszystkich grafik musi być w tym samym miejscu, więc o to też się pytam (a nie może być w pętli nieskończonej).
P-591
DejaVu
» 2008-05-03 13:25:46
C/C++
if( mx >= przycisk_x && mx <= przycisk_x + przycisk->w && my >= przycisk_y && my <= przycisk_y + przycisk->h && mb == 1 )
{
    //...
}
Co do grafiki, to musi być ona wyświetlana w nieskończonej pętli jeśli ma animację, a jeśli jest statyczna i widać myszkę to ewentualnie można ją wyświetlić przed wejściem do pętli (choć i tak wydaje mi się niezbyt trafionym rozwiązaniem wyciągać to przed wejściem w pętlę).
P-592
Ju1ian
Temat założony przez niniejszego użytkownika
» 2008-05-03 13:34:03
Ale jak ja mam to zrobić jeśli wszystkie deklaracje zmiennych mam w Main?
I wszystkie instalacje ;/
P-594
DejaVu
» 2008-05-03 15:21:36
Podziel kod na funkcje :) Rozbudowywanie wszystkiego w jednym kawałku kodu nie jest dobre, bo w pewnym momencie dojdziesz do takiego punktu krytycznego, że nie będziesz pewien co zmieniasz.
P-597
Ju1ian
Temat założony przez niniejszego użytkownika
» 2008-05-04 19:29:05
Ok zrobię to, ale jak to przebudować żeby działało xD Bo za cholerę nie mogę ;P
P-628
« 1 »
  Strona 1 z 1