GameHUD: Koniec gry

„Game Over” jest zarządzany w bardzo prosty sposób. Gdy upłynie czas, gracz nie może już zbierać posągów, a na ekranie pojawiają się teksty „GAME OVER” i „Press Enter”.

Schemat „GameHUD” ma zmienną logiczną o nazwie „GameOver”. Jedynym warunkiem, który prowadzi do końca gry, jest zerowy czas. Ten test jest wykonywany w  zdarzeniu „Timer”,  które zostało pokazane w artykule „ GameHUD: Timer i zdarzenie niestandardowe ”.  Gdy zmienna „GameOver” jest prawdziwa, gracz może kontynuować ruch, ale nie może zbierać statuetek, ponieważ jednym z warunków testowanych w momencie zderzenia ze statuą jest to, że zmienna „GameOver” nie może być prawdziwa, jak widać w artykule „ Statua: działania na wykresie ”. W przypadku wydarzenia „Otrzymaj rysowanie Hud”, które było pokazane w artykule „ GameHUD: Rysowanie na ekranie ”, musisz dodać akcje, które sprawdzają, czy gra się skończyła i rysują na ekranie tekst „GAME OVER” i „Press Wchodzić”. Pełna wersja wydarzenia „Receive Draw Hud” stała się:

Kiedy gracz naciśnie klawisz ENTER, zmienne gry zostaną zresetowane. Jednak domyślnie klasy typu HUD nie rozpoznają zdarzeń wejściowych, takich jak naciśnięcia klawiszy. Musimy włączyć wejście przekazujące PlayerController jako parametr. Odbywa się to podczas wydarzenia „Begin Play” w GameHUD:

Teraz możemy dodać zdarzenie wejściowe „Enter”, które jest wyzwalane po naciśnięciu klawisza Enter. Jego jedyną czynnością jest wywołanie Macro StartGame, która przygotowuje zmienne do nowej gry:

Ostatnią zmianą, jaką musimy zrobić, aby ukończyć tę prostą grę, jest schemat „MyGame”, który jest tworzony przez szablon „TP_ThirdPersonBP” edytora. Otwórz plan „MyGame” w trybie „Defaults” i zmodyfikuj właściwość „HUD Class”. Aby to zrobić, kliknij pole kombi właściwości i wybierz opcję „GameHUD”. Skompiluj i zapisz.

Teraz wystarczy nacisnąć przycisk „Play” w głównym edytorze, aby wypróbować grę. 


Źródło:https://romeroblueprints.blogspot.com/2014/08/gamehud-game-over.html