Statue: działania na wykresach

Pierwszą rzeczą, którą zrobimy, jest utworzenie zmiennej odnoszącej się do Blueprint „GameHUD”. Tak więc w Blueprints „Statua” możemy odczytywać zmienne i wywoływać funkcje „GameHUD”.

Przejdź do trybu „Wykres” planu „Statua” i kliknij przycisk „ + Zmienna ”. Wpisz nazwę zmiennej jako „GameHUD”. Kliknij pole kombi obok „Typ zmiennej”, aby wybrać typ zmiennej. Wyszukaj „GameHUD” i wybierz opcję „GameHUD_C”, która znajduje się w kategorii „obiekt”. Typ „GameHUD_C” został wygenerowany przez nierealny edytor podczas tworzenia planu „GameHUD”.

W zdarzeniu „Begin Play” Blueprint „Statue” musimy zapisać odniesienie do GameHUD w utworzonej przez nas zmiennej, a następnie zainicjować dane „Statue”.

Aby uzyskać odniesienie do interfejsu HUD używanego przez grę, musimy najpierw uzyskać odniesienie do kontrolera gracza. Następnie używamy funkcji „Get HUD”, przekazując zwrot funkcji „Get Player Controller” jako parametr „target”. Funkcja „Get HUD” zwraca obiekt typu HUD. Wiemy jednak, że używamy obiektu typu GameHUD, więc musimy użyć funkcji takiej jak „Cast to”, aby przekonwertować ten wynik na zmienną typu „GameHUD”. Aby dodać akcję „Cast to GameHUD”, kliknij i przeciągnij zwróconą wartość funkcji „Get HUD” i zwolnij w EventGraph, aby wyświetlić listę dostępnych akcji. Działania potrzebne do zainicjowania „Statue”

W tym przypadku mamy dwie główne akcje:


„Ustaw ustawienie aktora”: ta akcja ustala nowa lokalizacja posągu. Pozycja ta jest reprezentowana przez wektor (X, Y, Z), w którym wartości X i Y są losowe. Minimalne i maksymalne wartości X i Y reprezentują obszar gry. Wartości te uzyskano w artykule „Wstępne przygotowanie do gry”.
„Set Timer”: Ten licznik czasu przedstawia czas w sekundach, w jakimś posąg zmieni pozycję. Po moment tego czasu wywoływane jest zdarzenie „Init Statue” w celu ustawienia nowej pozycji. Czas jest ekspresyjny „6 – Level”. Aktualny poziom jest uzyskiwany w zmiennej „Poziom” Blueprints GameHUD. Po przeciągnięciu wyniku wyrażenia, który jest wartość parametru „Time”, który jest ułamkowy, edytor automatycznie tworzy konwerter między doświadczeniami typami.

Ostatnim zdarzeniem „Statuy” jest „Actor Begin Overlap”, które jest uruchamiane, gdy Aktor w grze zachodzi na statuę:

Wartość przekazana do parametru „Branch” gałęzi jest wynikiem wyrażenia logicznego, które sprawdza, czy aktor, który się nakłada, jest graczem, a gra nie jest w trybie „Game Over”. Posąg zostanie odebrany tylko wtedy, gdy te dwa warunki są spełnione. Po zebraniu statuetki wywoływana jest funkcja „StatueCollected” w GameHUD, która zarządza wynikiem gracza i poziomem gry. Następnie wywoływane jest zdarzenie „InitStatue” w celu zmiany położenia posągu. Są to wszystkie czynności niezbędne do wykonania schematu „Statue”. Aby zakończyć, dodaj 3 egzemplarze BP „Statue” na poziomie w dowolnej pozycji.


Źródło:https://romeroblueprints.blogspot.com/2014/08/statue-graph-actions.html