‫Cześć i witaj.
‫W tym wykładzie będziemy odradzać nasz karabin w czasie wykonywania z naszej klasy postaci w C++.
‫Zanurzmy się i zobaczmy, jak to się robi.
‫Dobra.
‫Więc chcemy, aby nasza broń odradzała się.
‫Jako dziecko postaci pędów, pierwszym punktem wyjścia jest możliwość odrodzenia tego aktora z wnętrza
‫innego aktora.
‫Zrobimy to w czasie wykonywania.
‫Zaczniemy grać, ponieważ w ten sposób możesz to zrobić, gdy się odradzasz.
‫Aktorzy muszą to zrobić w czasie wykonywania.
‫A sposób, w jaki to zrobimy, to zdobycie świata jako pierwsi.
‫Więc pobierz świat, a następnie wywołamy funkcję na Pobierz świat, przy okazji, świat i poziom jako synonim.
‫Więc to, co właściwie robimy, to wchodzimy na poziom i mówimy,
‫hej, poziom, czy możesz tworzyć jako aktor, ponieważ wszyscy aktorzy zasadniczo należą lub żyją na poziomie.
‫Więc mówimy, wiesz, odradzaj się dla mnie aktorem, proszę.
‫A to jest aktor odradzania, który bierze szablon.
‫Więc możesz powiedzieć, chcę, żeby ten aktor, którego mam zamiar odrodzić, był pistoletem typu A.
‫A żeby to zadziałało, będziemy potrzebowali dodać tutaj hash include do broni.
‫H.
‫A potem weźmiemy argument, a argumentem do odrodzenia może być w rzeczywistości typ klasy.
‫Więc domyślnie pójdzie dalej i odrodzi C++.
‫Ale tutaj chcemy odrodzić projekt dziecka tego pistoletu.
‫Więc musimy dowiedzieć się, co to będzie, co należy podłączyć w Blueprint.
‫Nie da się tego podłączyć tutaj w C++, przynajmniej nie jest to łatwe.
‫Najlepszym miejscem do tego jest Blueprint.
‫Zrobimy więc ALLO, aby przejść do pliku nagłówkowego naszej postaci strzelanki i dodamy
‫tutaj nową właściwość you.
‫Aby umożliwić nam skonfigurowanie klasy, na którą powinniśmy wskazywać, aby odrodzić działanie.
‫Którą klasę schematu powinniśmy odrodzić z tej postaci strzelca?
‫Będziemy mieć to tylko domyślną edycję, tylko domyślną edycję, ponieważ nie chcemy mieć możliwości edytowania tego w czasie wykonywania, ponieważ dałoby to
‫fałszywe wrażenie, że można zmienić rodzaj pistoletu, którego używamy runtime, podczas
‫gdy wybieranie sztuk zostało już nazwane, że broń już się pojawiła, więc
‫tak naprawdę niczego nie aktualizuje.
‫Więc nie chcemy, aby był edytowalny, aby nie dawać ludziom fałszywego wrażenia, co można zrobić.
‫A potem użyjemy makra o nazwie podklasa T, z którym mogłeś wcześniej się zetknąć lub
‫nie.
‫A podklasa T jest szablonem.
‫Więc ponownie używamy tych kątowników i chcemy, żeby to była podklasa broni.
‫I zasadniczo oznacza to, że pozwala to projektom ograniczać klasy, z których możemy
‫wybierać, tylko do klas, które są podklasami klasy Gun C++.
‫To nie będzie wskazówka, ponieważ nie wskazujemy rzeczywistego egzemplarza broni.
‫To, co otrzymujemy w tej zmiennej, to sama klasa.
‫W tym przypadku jest to klasa projektu, ale nadal jest to klasa.
‫Będziemy chcieli to nazwać klasą dział, żeby było jasne, że to nie
‫jest samo działo.
‫Chcemy, aby inna właściwość ciebie tutaj przechowywała broń i nie będzie to domyślna edycja.
‫Więc w zasadzie nie chcemy, aby ta właściwość była w ogóle widoczna, ale będzie to wskaźnik
‫pistoletu.
‫Zobacz różnicę?
‫Jedna z nich to podklasa t broni, druga to wskaźnik do broni, a ta jest rzeczywistą bronią.
‫To jest po utworzeniu instancji klasy, tam zamierzamy ją przechowywać.
‫Przejdźmy więc do naszego strzelca c p i zakończmy tę grę, w której odradzamy różne rzeczy, więc będziemy
‫mieli broń równą, aby odrodzenie świata działało jak broń, a kłótnia przejdzie tutaj
‫jest klasa broni które zamierzamy umieścić w planach.
‫Więc chodźmy i spróbujmy to skompilować.
‫To może dać nam pewne błędy.
‫Zobaczmy, mam otwarty dziennik wiadomości z dziennikiem kompilacji.
‫I rzeczywiście, w pliku głównym pojawia się kilka błędów mówiących o niezadeklarowanym identyfikatorze,
‫ponieważ musimy przesłać dalej deklarację broni.
‫Więc zrobię to na górze.
‫To jest w dwóch miejscach, które powiem w klasie.
‫Pistolet jak celownik.
‫Przypominam, że takie deklarowanie w przód oznacza, że możemy skrócić czas kompilacji, nie umieszczając
‫zbyt wiele w ciężkim nagłówku plików.
‫Spróbujmy przekompilować i zobaczmy.
‫Wygląda na to, że to był jedyny błąd.
‫Jest teraz pomyślnie skompilowany.
‫Chodźmy dalej, włączmy odtwarzanie i zobaczmy, co się stanie.
‫Wyjście.
‫Zobacz nasze.
‫Zasadniczo chcemy rzucić okiem na ładowanie wiadomości, których nie mam otwarte.
‫Przejdźmy więc do narzędzi okienkowych i programistycznych i spójrzmy na dziennik wyjściowy i zobaczmy, czy nie mamy tutaj żadnych błędów.
‫Tak.
‫Aktor odradzania się nie powiódł, ponieważ nie określono klasy.
‫Pewny.
‫Nie określono klasy, ponieważ nie skonfigurowaliśmy jej jeszcze w planie.
‫Więc to zamierzam zapisać jako wyzwanie dla ciebie, aby podłączyć broń, znaleźć właściwość w naszych schematach
‫postaci, ustawić ją na właściwą broń i przetestować, czy się odradza.
‫Wstrzymaj wideo i spróbuj.
‫OK, witaj z powrotem.
‫Przejdźmy więc do naszej postaci strzelca, BP, i znajdźmy właściwość, która powinna znajdować się na trasie lub
‫klasie.
‫Domyślnie wchodzą w szczegóły i podbijają postać.
‫Widać, że mamy tutaj rotację, którą skonfigurowaliśmy i mamy klasę pistoletu, która jest listą
‫rozwijaną, która pozwala mi wybrać, czy pistolet jest pistoletem C++.
‫I tutaj przydaje się konwencja nazewnictwa.
‫Rzeczy poprzedzone podkreśleniem BP to plany.
‫Więc chcemy karabin AB BP z podkreśleniem.
‫Pójdziemy dalej i wybierzemy ten zapis kompilacji, przejdziemy do sceny i wciśniemy Odtwórz.
‫Miejmy nadzieję, że nie mamy żadnych błędów dotyczących odradzania broni.
‫Pistolet powinien się odrodzić.
‫Dobra.
‫A żeby dowiedzieć się, czy tak, możemy F8 i zajrzeć do zarysu świata.
‫Jeśli trochę powiększę zarys świata, mogę poszukać karabinu z podkreśleniem BP.
‫Hurra.
‫Mamy karabin z podkreśleniem BP w momencie, gdy jest w szczerym polu i nie jest to prawidłowy identyfikator dziecka.
‫To będzie temat następnego wykładu.
‫Więc tam cię zobaczę.