Zajmuję się tworzeniem gry metodą odpytywania dla metody wprowadzania. Jednak teraz, gdy zagłębiam się w menu gry i inne elementy interfejsu użytkownika, stwierdzam, że prawdopodobnie chciałbym mieć dane sterowane zdarzeniami. Być może nawet posiadanie obu, używanie zdarzeń sterowanych dla interfejsu użytkownika i odpytywanie dla wejścia „świata”. Jestem ciekawy, jaka jest najlepsza droga.
Definiuję sondowanie jako: każdą pętlę aktualizacji sprawdzam, które klawisze są wciśnięte, gdzie znajduje się mysz, naciśnięte przyciski, a następnie je przeglądam i wykonuję działania na podstawie zebranych informacji.
Zdarzenie definiuję jako zdarzenie oparte na: przerwaniu, gdy zdarzenie ma miejsce, a przerwanie jest wyzwalane i blok kodu jest uruchamiany na podstawie zdarzenia.
Czy uważasz, że najlepiej jest kierować się wszystkimi zdarzeniami, wszystkimi ankietami, czy też połączenie obu jest dopuszczalne? Jeśli masz plusy i minusy, proszę wymienić je. Dzięki.
EDYTOWAĆ
Gra jest oparta na Javie / OpenGL, więc zostanie wydana na Windows / Mac / Linux. Możliwość rozszerzenia tego na urządzenia mobilne jest niska. Gra jest w stylu RTS, trzecia osoba w 3D.
EDYCJA 2
Nadal nie jestem do końca zadowolony ze sposobu, w jaki to zaimplementowałem, ale zmierzam do przechwytywania zdarzeń w moim interfejsie użytkownika, a jeśli nie są one obsługiwane przez żaden z moich składników interfejsu, przekazuję zdarzenie do „Świat” do wybierania / selekcji. Coś jak:
@Override
private boolean handleEvent(Event event) {
if(hud.handleEvent(event)) {
return true;
}
return WORLD.handleEvent(event);
}
W ten sposób nie dostaję kliknięć przez interfejs użytkownika, aby wybrać obiekty za przyciskami, a co nie.
Obecnie moje sterowanie kamerą wciąż opiera się na odpytywaniu, i wydaje się, że na razie działa, ale mogę to później zaktualizować.
Doceniam wszystkie odpowiedzi, przepraszam, że mogłem wybrać tylko jedną!