GameHUD: Inicjalizacja zmiennych za pomocą makra

Nasza gra testowa będzie posiadać Blueprint o nazwie GameHUD, która będzie czerpała informacje z gry na ekranie. Aby gra była prosta, ten schemat będzie również odpowiadał za różne zasady gry.

Konstrukcja tego „Planu” zostanie podzielona na kilka artykułów. W tym artykule utworzymy Blueprint GameHUD w edytorze, zdefiniujemy zmienne i dodamy Makro, które zainicjuje zmienne gry.

W górnym menu edytora kliknij przycisk „Blueprint” i wybierz opcję „New Class Blueprint”:

Na kolejnym ekranie musimy wybrać klasę, która będzie podstawą dla GameHUD. Będziemy używać klasy „HUD” jako podstawy, aby móc rysować na ekranie. Jednak klasa „HUD” nie jest jedną z 5 klas standardów wyświetlanych przez edytor. Aby znaleźć klasę „HUD”, rozwiń opcję „Custom Classes” i wpisz „hud” w polu wyszukiwania. Wybierz klasę „HUD” i kliknij przycisk „Wybierz”, jak na obrazku poniżej.


Na następnym ekranie wybierz folder „Blueprints” i wpisz nazwę planu jako „GameHUD”:

Plan GameHUD musi zawierać następujące zmienne:

  • Level (typ Integer): bieżący poziom gry.
  • Wynik (typ Integer): Wynik gracza.
  • StatueCount (typ Integer): przechowuje liczbę zebranych posągów.
  • Time (typ Integer): czas pozostały do ​​zakończenia gry. 
  • GameOver (typ boolean): Zmienna wskazująca, czy gra się zakończyła.

Przejdź do trybu „Blueprints” i utwórz  poniższe zmienne , wszystkie z zaznaczoną opcją „Editable” :

Na powyższym obrazku widzimy makro o nazwie „StartGame”. To makro jest odpowiedzialne za inicjalizację zmiennych gry.

Użycie makra umożliwia zdefiniowanie zestawu akcji, które można wywołać w innych częściach EventGraph. W ten sposób unikamy powtarzania tego zestawu działań w EventGraph, upraszczając jego modyfikację, będąc w jednym miejscu.

W tej przykładowej grze musimy dwukrotnie zainicjować zmienne sterujące grą. Pierwsza to moment uruchomienia gry. Za drugim razem po zakończeniu gry, gracz chce spróbować ponownie.

Aby utworzyć to makro, kliknij przycisk „Makro” znajdujący się w zakładce „Mój plan” w trybie „Wykres” i wpisz nazwę „Gra startowa”:

W zakładce „Details” możesz określić parametry wejściowe i wyjściowe. Jako parametr wejściowy wstawimy tylko jedną linię Execution. W tym celu rozwiń kategorię „Input i kliknij przycisk „New”. Wpisz nazwę jako „In” i wpisz jako „exec”. Zrób to samo w kategorii „Outputs”, ale wpisz nazwę „Out”, jak na obrazku poniżej.

Poniższy zrzut przedstawia makro „StartGame” z parametrami wejściowymi i wyjściowymi. 

Teraz przytrzymaj klawisz „Alt” i przeciągnij pięć zmiennych, które utworzyliśmy wcześniej, do wykresu makra „StartGame”. Spowoduje to utworzenie akcji „Ustaw” dla zmiennych. Ustaw następujące wartości początkowe dla zmiennych:

  • Score: 0
  • Level: 1
  • StatueCount: 0
  • Time: 30
  • GameOver: False

Zorganizuj akcje w Makro „StarGame”, aby wyglądały następująco:

Ostatnią czynnością jest wywołanie funkcji „SetTimer” z następującymi parametrami:

  • Function Name: Clock
  • Time: 1
  • Loop: True (zaznaczona)

Korzystanie z funkcji „SetTimer” zostanie wyjaśnione w następnym artykule.

Poniższy obrazek przedstawia makro „StartGame” wywoływane w zdarzeniu „BeginPlay”. Za pomocą tego wywołania wykonywane są akcje zawarte w makro.


Źródło:https://romeroblueprints.blogspot.com/2014/06/gamehud-initializing-variables-with.html