‫Hej, witaj z powrotem.
‫W tym filmie będziemy pracować nad wyświetlaniem tekstu na ekranie, aby poinformować nas, że gra się rozpoczyna.
‫I to jest pierwszy krok do pokazania licznika czasu, aby gracz wiedział, że gra jeszcze
‫się nie rozpoczęła, ale wkrótce się rozpocznie.
‫Teraz będzie to obejmować zdarzenia możliwe do wdrożenia w ramach planu.
‫Blueprint Implementable Event to funkcja C++, którą możemy wywołać z C++, ale w rzeczywistości
‫implementujemy funkcjonalność po stronie projektu.
‫Możemy więc mieć naszą klasę C++, taką jak tryb gry, i możemy mieć funkcję oznaczoną jako plan,
‫możliwe do zaimplementowania zdarzenie, a następnie możemy zaimplementować to zachowanie w planach.
‫Więc kiedy wywołamy funkcję C++ oznaczoną jako zdarzenie możliwe do zaimplementowania w planie, to zdarzenie w planie
‫zostanie uruchomione.
‫I każda logika planu, którą połączymy z tym wydarzeniem w planie, zostanie wywołana.
‫Zamierzam więc stworzyć tutaj funkcję wydarzenia, którą można zaimplementować w planach, w czołgach tuningowych, tryby gry i wydarzenia możliwe do
‫zaimplementowania w planach nie mogą być prywatne.
‫Więc dodam to do sekcji chronionej.
‫Teraz zrobię z tego funkcję void i po prostu wywołam tę grę startową.
‫Teraz, aby uczynić to zdarzenie możliwym do zaimplementowania w planie, muszę nadać mu makro funkcji U z
‫funkcją U.
‫Określ zdarzenie możliwe do zaimplementowania w planie.
‫Teraz, kiedy już zaznaczymy to możliwe do zaimplementowania zdarzenie, nie musimy nawet podawać mu treści funkcji
‫tutaj w C++.
‫Unreal Engine będzie oczekiwał, że zaimplementujemy tę funkcjonalność w planach, ale możemy to
‫nazwać z C++ i dokładnie to zrobimy w Handle Game Start.
‫Więc zaraz po ustawieniu zmiennych czołgu i kontrolera gracza, wywołam start game i teraz
‫możemy to skompilować.
‫Wracając do edytora, otworzę tryb gry dostrajanie czołgów BP i tutaj możemy zaimplementować
‫tę funkcję.
‫Więc jeśli klikniemy prawym przyciskiem myszy i wpiszemy start game, to tutaj jest gra startowa zdarzenia, która została utworzona,
‫gdy tylko zadeklarowaliśmy funkcję i nadaliśmy jej makro funkcji ze zdarzeniem możliwym do zaimplementowania w schemacie.
‫Więc po stronie C++ nazywamy to i w planach to zdarzenie na to odpowiada.
‫Możemy to przetestować za pomocą prostego węzła napisowego, a dla ciągu możemy powiedzieć Rozpocznij grę.
‫Teraz, jeśli klikniemy play, zobaczę rozpoczęcie gry w lewym górnym rogu.
‫Wiemy więc, że nasze wydarzenie do wdrożenia planu działa.
‫Teraz chcielibyśmy, aby to wydarzenie pokazało widżet, który zawiera tekst informujący gracza, że gra ma się rozpocząć,
‫co oznacza, że musimy stworzyć widżet do pokazania.
‫Zamierzam więc utworzyć nowy folder w folderze blueprints i nazwać te widżety i podwójnie
‫kliknąć widżety.
‫I tutaj mam zamiar stworzyć nowy projekt widżetu.
‫Teraz, jeśli kliknę prawym przyciskiem myszy i przejdę do interfejsu użytkownika, oto Widget Blueprint.
‫Teraz, jeśli to kliknę, stworzę nowy schemat widżetu i nazwę go W BP
‫for Widget Blueprint, podkreślenie widżetu rozpoczęcia gry.
‫A jeśli kliknę to dwukrotnie, otworzę edytor Widget Blueprint i zobaczysz, że
‫wygląda trochę inaczej niż edytor Blueprint, do którego przywykliśmy.
‫A to dlatego, że to jest widżet.
‫Widgety są dobre do wyświetlania rzeczy na ekranie, takich jak tekst.
‫Teraz jest ich dużo, a my stworzymy tylko bardzo prosty widżet, który wyświetla tekst.
‫Istnieje wiele różnych typów elementów, które możemy dodać do schematu widżetu, takich jak obramowania, przyciski,
‫pola wyboru, obrazy i tak dalej.
‫Ale to, co nas interesuje, to ten tutaj, który mówi Tekst.
‫Teraz spójrz w dół w panelu hierarchii, zobaczysz, że na górze mamy ogólny widżet startowy
‫WB.
‫A jeśli to klikniemy, możemy zmienić właściwości tego widżetu.
‫Teraz możemy przeciągnąć elementy widżetu do tej hierarchii.
‫Więc przeszukam paletę pod kątem panelu canvas i przeciągnę go w dół do mojej hierarchii.
‫Teraz panel płótna pozwala nam umieszczać elementy widżetów i ustawiać je w żądanym miejscu na ekranie,
‫dzięki czemu możemy przeciągnąć element tekstowy bezpośrednio na wykres.
‫Zobaczysz w hierarchii ten nowy element pod panelem płótna.
‫I mówi: Tekst.
‫Blok tekstowy.
‫Teraz ten blok tekstowy w cudzysłowie to tekst, który jest automatycznie ustawiany dla tego widżetu tekstowego.
‫I tutaj, w panelu szczegółów, z tym widżetem tekstowym wybranym pod zawartością, widzimy właściwość text i jest
‫ona ustawiona na blok tekstu.
‫Ale możemy ustawić to na dowolny tekst, na przykład przygotuj się.
‫Teraz, po ustawieniu tego, aby się przygotować, zobaczysz, że tekst na ekranie mówi: Przygotuj się.
‫Więc edytor Widget Blueprint pozwala nam dostosować nasze widżety w lewym górnym rogu ekranu,
‫ten medalion tutaj, to się nazywa kotwica.
‫Nasz widżet tekstowy jest umieszczany na ekranie w stosunku do kotwicy.
‫Jeśli więc zmieni się rozmiar ekranu, odległość od tej kotwicy pozostanie stała.
‫I możemy zmienić kotwicę, jeśli chcemy.
‫Na przykład możemy ustawić nasz widżet tekstowy względem kotwicy na środku ekranu, przechodząc
‫do panelu szczegółów i pod slotem widzimy kotwice.
‫A jeśli kliknę menu, mogę wybrać tę ikonę, która ma kwadrat pośrodku.
‫Jeśli teraz to wybiorę, kotwica znajduje się na środku ekranu, a jeśli chcę, aby mój
‫widżet był całkowicie wyśrodkowany, mogę zmienić jego pozycję X i Y tutaj w kategorii slotów, aby ustawić to na zero
‫dla pozycji X i zero dla pozycji Y i przewijając kółkiem myszy, aby powiększyć, zobaczysz, że jest to lewy
‫górny róg, tak jak na środku ekranu.
‫Teraz to pole wyrównania tutaj pozwala nam to idealnie wyśrodkować, wybierając wartości 0. 54 X i 0. 54 Y, a teraz
‫jest całkowicie wyśrodkowany na środku ekranu.
‫Teraz, jeśli chodzi o widżet startowy, prawdopodobnie będzie właściwe umieszczenie tego tekstu nieco wyżej.
‫Tak więc w przypadku pozycji Y mogę kliknąć i przeciągnąć to w lewo, co spowoduje, że wartość pozycji Y w edytorze
‫schematu widżetu będzie ujemna, a oś y będzie skierowana w dół.
‫Więc jeśli chcemy podnieść nasz widżet tekstowy, ustawimy tę pozycję y na niższą wartość.
‫Umieszczę to tutaj około -300.
‫Teraz w kategorii wyglądu mogę zmienić kilka właściwości tego tekstu.
‫Jeśli kliknę menu rozwijane czcionki, mogę zmienić rozmiar czcionki, aby powiedzieć coś w stylu 42.
‫Teraz czcionka zamiast pogrubienia.
‫Podoba mi się zwykły krój pisma.
‫Myślę, że teraz wygląda trochę lepiej.
‫Zauważ, że tekst naszego widżetu tekstowego jest większy niż zielony prostokąt, ale możemy zmienić rozmiar tego
‫zielonego prostokąta.
‫A kiedy zmieniam prostokąt, zobaczysz w panelu szczegółów, że zmienia się rozmiar X i rozmiar
‫y.
‫Teraz zauważcie, że pozycja X nieco się przesunęła, odkąd ją zmieniłem.
‫Mogę ustawić go z powrotem na zero, a ponieważ wyrównanie dla x wynosi 0. 5, jest idealnie wyśrodkowany.
‫Więc teraz mam widżet z napisem Przygotuj się.
‫Jedyne, co pozostało do zrobienia, to dodanie tego do rzutni, abyśmy mogli zobaczyć go na ekranie.
‫Zauważysz, że jeśli nacisnę play i zacznę grać, to nie widziałem tego widżetu na ekranie.
‫Dzieje się tak dlatego, że musimy aktywnie dodać to do ekranu i dlatego stworzyliśmy
‫to możliwe do zaimplementowania wydarzenie w trybie gry, abyśmy mogli dodać ten widżet do ekranu tutaj.
‫Porozmawiajmy więc o tym, jak to zrobić.
‫Ale już.
‫Sposobem na utworzenie widżetu z planów jest użycie węzła tworzenia widżetu.
‫Możesz kliknąć prawym przyciskiem myszy na wykresie zdarzeń dla dowolnego planu i zacząć wpisywać nazwę węzła, a
‫następnie wybrać ten konkretny węzeł.
‫Potrzebujemy węzła do tworzenia widżetu.
‫Teraz zobaczysz, że jest napisane Create Coolness Widget.
‫A to dlatego, że jak tylko dodałem węzeł Create Widget, wybrałem klasę Widget Blueprint tutaj
‫na liście rozwijanej klasy.
‫Jest to konieczne, aby Unreal Engine wiedział, którą klasę widgetu utworzyć.
‫Teraz, po użyciu węzła tworzenia widgetu, używamy węzła add to viewport, aby faktycznie dodać ten widget do
‫okna widoku, a następnie możemy go zobaczyć na ekranie w grze.
‫Zauważże przewody wykonawcze sąpodłączone oraz że węzeł tworzenia widżetu zwraca to niebieskie wyjście i powinno
‫byćpołączone z docelowym wejściem w dodatku do rzutni ponieważ add to viewport musi
‫wiedziećktóry widżet dodać do rzutni i do węzła tworzenia widżetów zwraca wartość tego widżetu.
‫Więc teraz, kiedy już wiesz, jak stworzyć widget w planach, przejdziesz do klasy trybu gry
‫BP tune Tanks i użyjesz węzła tworzenia widgetu.
‫Zamierzasz podłączyć to z naszego projektu, który można wdrożyć w celu wykonania zdarzenia.
‫Nazwaliśmy Start Game.
‫Teraz w węźle Utwórz widżet musimy wybrać klasę widżetu do utworzenia, więc wybierz widżet startowy WB, ten nowy projekt
‫widżetu, który właśnie utworzyliśmy, a następnie użyj węzła add to viewport, aby faktycznie dodać ten nowy
‫widżet do rzutni i zaczepu w górę przewodów wykonawczych.
‫I nie zapomnij podłączyć wartości zwracanej z widżetu create do docelowego wejścia w add do viewport.
‫Zatrzymaj więc wideo i dodaj teraz te węzły do schematu trybu gry czołgu tuningowego.
‫Więc jestem tutaj w tunezji Tanks Game Mode Blueprint i mam zamiar kliknąć prawym przyciskiem myszy i wpisać
‫widżet tworzenia i wybrać Utwórz węzeł widżetu.
‫Teraz zauważ, że jest napisane Brak konstrukcji.
‫A to dlatego, że będzie to mówić, dopóki nie wybierzemy odpowiedniej klasy widżetu z listy rozwijanej
‫klasy.
‫Ale zanim to zrobię, zamierzam podłączyć przewód egzekucyjny z wydarzeń rozpoczynających grę.
‫Tak więc faktycznie wykonujemy tę funkcję, gdy tylko nasza gra uruchamiająca zdarzenia, którą można wdrożyć,
‫zostanie wywołana z C++.
‫Teraz dla listy rozwijanej klasy wybiorę widżet gry startowej WP, a teraz tytuł węzła zmienia
‫się na Stwórz widżet gry startowej WP.
‫Teraz widzimy, że jest to węzeł tworzenia widżetu.
‫Teraz kliknę w przewód wykonawczy i przeciągnę, a następnie wpiszę add to viewport.
‫A potem, jeśli wybiorę add to viewport, to przewody wykonawcze są automatycznie podłączane dla mnie,
‫ale nie łączy to wartości zwracanej z create widget do docelowego wejścia w celu dodania do viewport.
‫Więc muszę to kliknąć i przeciągnąć sam.
‫Więc teraz, gdy Start Game zostanie wywołany z C++ i klasy trybu gry, wykonamy tę
‫logikę planu, która spowoduje utworzenie nowego widżetu opartego na widżecie WP Start Game, a następnie dodamy go
‫do widoku.
‫Więc kliknę Play i jest widżet Przygotuj się.
‫Teraz wspomnieliśmy, że będzie to pokazywać licznik czasu, ale nie zaimplementowaliśmy jeszcze tej
‫funkcji, więc to już wkrótce.
‫Podsumowując, stworzyliśmy schemat Start Game Widget Blueprint i na razie zawiera on tylko tekst z napisem
‫Przygotuj się.
‫Użyliśmy również węzła tworzenia widżetu i węzła dodawania do widoku, aby dodać ten widżet do widoku, abyśmy mogli go
‫zobaczyć, gdy tylko rozpocznie się gra.
‫Zainicjowaliśmy tę funkcję za pomocą naszego możliwego do wdrożenia zdarzenia, które stworzyliśmy w trybie gry w
‫klasie C++ o nazwie Start Game w nadchodzących filmach. Zmienimy tekst w tym widżecie w czasie
‫wykonywania, aby pokazywał, ile czasu pozostało na tym liczniku czasu rozpoczęcia gry, aby gracz wiedział, ile
‫czasu musi odczekać, zanim będzie mógł rozpocząć grę.
‫Zobaczymy się wkrótce.