[SFML 2.0] Lepszy pomysł na menu do gry
Ostatnio zmodyfikowano 2013-09-05 23:01
tomasz Temat założony przez niniejszego użytkownika |
[SFML 2.0] Lepszy pomysł na menu do gry » 2013-09-05 22:41:10 Witam zacząłem zastanawiać się nad moim pomysłem, którego używam do tworzenia menu gry i dochodzę do wniosku, że jest zły. Przeglądałem forum i natknąłem się na jeden bardzo podobny problem (w zasadzie to chyba nawet taki sam (http://cpp0x.pl/forum/temat/?id=7610)), ale niestety odpowiedz nic mi nie dała, więc postanowiłem stworzyć nowy temat. Wydaję mi się, że używam za dużo instrukcji warunkowej. Mianowicie mój kod wygląda tak: int zmienna = 0;
while( window.isOpen() ) { while( window.pollEvent( zdarzenie ) ) { if( zdarzenie.type == sf::Event::Closed ) window.close(); if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::Escape ) window.close(); if( zdarzenie.type == sf::Event::MouseButtonPressed && zdarzenie.key.code == sf::Mouse::Left ) { if( recruitButton.getGlobalBounds().contains( mouse.getPosition( window ).x, mouse.getPosition( window ).y ) && zmienna == 0 ) zmienna = 1; } } if( zmienna == 1 ) wyswietlenie menu lub czegos innego }
Tak więc pierwsze pytanie czy jest to dobre rozwiązanie? Wydaje mi się, że nie więc zadamy kolejne pytanie, jak można by to poprawić? Po pierwsze mam problem z przyciskami, bo muszę sprawdzać w pierwszym ifie cy zmienna jest niezmieniona bo tak to przycisk można przycisnąć nawet jeśli nie jest wyświetlony. Druga sprawa to drugi if poza pętlą zdarzeń, chyba, że jest to najlepsze rozwiązanie? |
|
SeaMonster131 |
» 2013-09-05 22:49:11 Lepiej stworzyć chociażby enum, ale operując na Twojej zmiennej, może to wyglądać tak: if( zmienna == 1 ) { if( klikniecie na przycisk 1 ) zmienna = 2; if( klikniecie na przycisk 2 ) zmienna = 3; }
if( zmienna == 2 ) { }
if( zmienna == 3 ) { }
|
|
tomasz Temat założony przez niniejszego użytkownika |
» 2013-09-05 22:56:04 Czyli widzę, że takie rozumowanie jak u mnie, więc mam jeszcze tylko pytanie odnoście samej instrukcji kliknięcia, ja dodaje do swojej żeby wiedzieć, że przycisk jest wyświetlony. I chciałem się zapytać czy da się rozwiązać to w inny sposób. Ogólnie to rozwiązanie staje się uciążliwe gdy dochodzi więcej przycisków lub, pomniejszych menu. |
|
SeaMonster131 |
» 2013-09-05 22:58:44 Dlatego rozpisałem Ci, jak to może wyglądać. W Menu wyświetlasz przyciski menu i obsługujesz tylko kliknięcia z menu, w opcjach opcje itd. |
|
tomasz Temat założony przez niniejszego użytkownika |
» 2013-09-05 23:01:01 Aa, ok. Teraz widzę. No to dzięki za pomysł, czas posprzątać w kodzie :) |
|
« 1 » |