Renderowanie na Ekranie

HUD to skrót od „Heads-Up Display”, czyli rodzaj przezroczystego wyświetlacza, który dostarcza informacji bez konieczności odwracania wzroku użytkownika. HUD został pierwotnie stworzony do użytku w samolotach wojskowych. Ta koncepcja jest używana w grach do wyświetlania graczowi różnych informacji, takich jak wynik, czas, energia itp. Artykuł „ GameHUD: inicjowanie zmiennych za pomocą makra ” wykazał,  że schemat GameHUD został stworzony w oparciu o klasę HUD. Było to konieczne, abyśmy mieli dostęp do akcji klasy HUD odpowiedzialnej za rysowanie na ekranie gry. W tym artykule zobaczymy, co jest potrzebne, aby wyświetlić na ekranie następujące informacje o grze:

Aby renderować na ekranie, musimy dodać zdarzenie „Receive Draw HUD” do EventGraph. To wydarzenie jest dostępne tylko w Blueprints opartych na klasie HUD.

Czynności związane z rysowaniem na ekranie znajdują się w kategorii „Call Function -> HUD”, jak na zrzucie ekranu poniżej:

Jedyną czynnością rysowania, której użyjemy w tym artykule, jest „Draw Text”. Ta akcja otrzymuje pewne wartości wejściowe, wśród nich są dwie wartości znane jako „Screen X” i „Screen Y”.

Wartości te reprezentują współrzędne ekranu, na którym będzie rysowany tekst. Lewa górna pozycja ekranu to początek, w którym wartości „Screen X” i „Screen Y” są zerowe. Poniższy obrazek pokazuje, jak zachodzi zmiana „Screen X” i „Screen Y”.

Poniższy obrazek przedstawia czynności niezbędne do wylosowania wyniku gracza.

Zdarzenie „Receive HUD Draw” podaje w zmiennych „Size X” i „Size Y” rozmiar ekranu dostępny do rysowania. W tym przykładzie nie będziemy używać tych zmiennych, ale są one przydatne, jeśli chcesz umieścić tekst lub obraz pośrodku lub po prawej stronie ekranu, niezależnie od rozdzielczości ekranu, z której korzysta gracz.

Funkcja „Rysuj tekst” ma kilka parametrów wejściowych. W tym przykładzie modyfikujemy następujące parametry:

  • TEXT : tekst do narysowania. Wartość jest typu String.  
  • TextColor : Wystarczy kliknąć kolorowy kwadrat, aby wybrać kolor tekstu, który zostanie narysowany.
  • Screen X : Pozycja pozioma, w której tekst będzie rysowany na ekranie. Zakres od 0 do „Rozmiar X”.
  • Screen Y : Pozycja pionowa, w której tekst będzie rysowany na ekranie. Zakres od 0 do „Rozmiar Y”.
  • Scale : Zmienia rozmiar tekstu. Normalny rozmiar jest mnożony przez tę wartość.

Na powyższym obrazku używamy funkcji „Build String (Int)”, aby utworzyć ciąg zawierający tekst „Score:” oraz bieżącą wartość zmiennej całkowitej „Score”. Wynikowy ciąg jest przekazywany do parametru „Text” funkcji „Draw Text”.

Rysowanie zmiennych „Time” i „Level” są bardzo podobne. Jedyna zmiana w funkcji „Rysuj tekst” zachodzi w  parametrach : Tekst, Kolor tekstu i Ekran X. Dwa poniższe obrazy przedstawiają działania.


Źródło:https://romeroblueprints.blogspot.com/2014/08/gamehud-drawing-on-screen.html