‫Cześć i witaj.
‫W tym wykładzie będziemy zadawać obrażenia temu aktorowi.
‫Zrobimy to, omijając wirtualną metodę o nazwie odbieranie obrażeń na aktorze.
‫I możecie zobaczyć w dzienniku tutaj, mamy spadek zdrowia, kiedy strzelam do tej postaci aż do
‫zera, a potem zatrzymuje się na zero, nie przechodząc w liczby ujemne.
‫Więc zanurkujmy i zobaczmy, jak to się robi.
‫Więc chociaż obecnie jesteśmy w stanie wyrządzić krzywdę aktorom, których tu uderzyliśmy, takim jak ten
‫facet, tak naprawdę nie otrzymujemy tych obrażeń.
‫W tym miejscu wkraczają wirtualne metody z ostatniego wykładu, ponieważ tak jak w przypadku rozpoczęcia gry lub
‫technologii, chcemy móc otrzymać obrażenia od aktora.
‫Teraz na szczęście, jeśli podejdziesz do aktora Punkt H i zajrzysz tu trochę, zobaczysz,
‫że istnieje ta wirtualna metoda zadawania obrażeń.
‫Teraz można to zrobić również w przypadku wydarzeń i prawdopodobnie widziałeś to w ten sposób przed rejestracją
‫na wydarzenia.
‫Teraz zamierzam zrobić tylko inny sposób zadawania obrażeń, w którym tak naprawdę mamy obrażenia zgromadzone
‫przeciwko aktorowi, a nie w komponencie.
‫A jednym z łatwych sposobów na otrzymanie tych obrażeń jest tutaj wirtualna metoda.
‫I to jest metoda wirtualna, którą zamierzamy zmienić.
‫Więc skopiuję to i przejdę do naszego konkretnego aktora, który jest strzelcem.
‫Będzie szybko.
‫Może szukać strzelca.
‫Znak kropka H.
‫A jedyną rzeczą, którą chcę sprawdzić, jest to, gdzie to wchodzi, aktor kropka H.
‫Więc jeśli przewiniemy w górę, powinniśmy być w stanie zobaczyć, w której sekcji się znajdujemy.
‫Więc zamierzam tylko przewinąć w górę, aż znajdę, czy jesteśmy publicznie, czy to, co oni idą, jesteśmy w
‫sekcji publicznej.
‫Więc to powinno być również w sekcji publicznej.
‫Więc po prostu wstawię to pod naszą technologię i ustawię komponent wejściowy gracza w
‫kropkę strzelanki i po prostu wkleję.
‫I jak powiedziałem w poprzednim wykładzie, możesz użyć override, aby upewnić się, że rzeczywiście nadpisujesz wirtualną metodę od rodzica
‫i nie jest konieczne, aby wirtualna była tutaj z przodu, ale i tak ją
‫zachowamy.
‫A tutaj możesz zobaczyć wszystkie dane, które przychodzą, aby odnieść obrażenia.
‫Mamy kwotę szkody, zdarzenia powodujące szkodę oraz kontrolera powodującego szkodę, inicjatora i
‫przyczynę szkody.
‫Wszystkie te rzeczy, które przekazaliśmy z broni, również pojawiają się tutaj.
‫Więc to świetnie.
‫Teraz, jeśli pójdziemy dalej i wykonamy przesunięcie kontroli, P utworzy implementację lub skopiuje i wklei, wtedy możemy
‫przejść i sprawić, by implementacja odniosła obrażenia.
‫Ale pierwszą rzeczą, na którą należy uważać, jest to, że za każdym razem, gdy
‫coś nadpisujemy, chcemy pomyśleć o wywołaniu wersji klasy nadrzędnej, aby otrzymać obrażenia, ponieważ może być tam jakaś implementacja, która
‫musi zostać uruchomiona.
‫Więc to właśnie zamierzamy zrobić.
‫Robimy to zawsze.
‫Zrobiliśmy to z technologią.
‫Zrobiliśmy to z Begin Play.
‫Widać, że zawsze było to super fajne na początku, a to dlatego, że
‫kiedy nadpisujemy metodę, którą przepisaliśmy całkowicie, całkowicie usuwamy to zachowanie.
‫Więc jeśli chcemy takiego zachowania, co zwykle robimy, powinniśmy zawsze zaczynać od fajnego do
‫super.
‫Więc zamierzamy zadać fajne obrażenia.
‫To zajmie wielkość obrażeń.
‫Więc to jest trochę nudne.
‫Niestety, moje narzędzie autouzupełniania nie robi tego za nas.
‫Zdarzenie szkody.
‫Więc jaki był następny?
‫Mieliśmy kontrolę.
‫Więc inicjator wydarzenia to tylko kopia.
‫A potem mamy sprawcę szkód, którym jest aktor.
‫Więc wszystko to jest wezwane do wykonania przez rodziców obrażeń odniesionych.
‫A jedyną rzeczą jest to, że ma typ zwracany.
‫Tak więc zastosowana została rzeczywista szkoda.
‫Więc będziemy pływać.
‫Zastosowano uszkodzenie?
‫Czy wartość zwrotu z odniesie obrażenia?
‫Więc po prostu zatrzymamy zaaplikowane tam obrażenia?
‫Realistycznie rzecz biorąc, będzie to tyle samo, co obrażenia w naszym konkretnym przypadku użycia,
‫ale niekoniecznie, więc użyjemy zadanych obrażeń.
‫Następną rzeczą, którą chcemy zrobić, jest posiadanie informacji o tym, ile faktycznie mamy zdrowia.
‫Teraz zamierzam to zrobić z dwiema zmiennymi tutaj.
‫Po pierwsze, zamierzam stworzyć obie nowe właściwości, ponieważ chcę, aby stan zdrowia był widoczny w
‫inspektorze, przynajmniej na razie.
‫I będziemy mieli nieruchomość pierwszego roku, która będzie miała maksymalny stan zdrowia.
‫To jest to, do czego początkowo inicjujemy zdrowie.
‫Więc twoja własność, będzie to tylko domyślna edycja, ponieważ będzie używana na początku gry.
‫A więc zmiana wartości maksymalnego zdrowia po fakcie nie będzie miała żadnego wpływu.
‫Więc Max Health, ustawię Max Health na 100 tutaj, a potem będziemy mieli tutaj jeszcze jedną własność, która, jak powiedziałem,
‫będzie nieruchomość na rok tylko po to, abyśmy mogli sprawdzić to.
‫I będę to wszędzie widoczne.
‫Ale nie można go edytować, ponieważ nie chcemy móc zmienić tego stanu zdrowia, przynajmniej nie w tej chwili.
‫Możesz chcieć tego do celów debugowania, ale ja tego nie robię.
‫Więc będziemy mieć tutaj zdrowie i na początku gry ustawimy to tak, aby to zdrowie.
‫Jest równy maksymalnemu zdrowiu.
‫Więc zaczynamy od spawnu.
‫Mamy maksymalne zdrowie i wtedy możemy zacząć się zmniejszać.
‫Wyznacza czas na wyzwanie, aby zmniejszyć zdrowie postaci.
‫Więc użyjesz zadanych tutaj obrażeń, a nie innej opcji tutaj.
‫Więc nasze strzały, postać, kropka, CP otrzymują obrażenia, mamy ilość obrażeń, ale tak naprawdę chcemy, aby
‫zadawane obrażenia, które powracają po otrzymaniu obrażeń, mogły zostać zmniejszone
‫przez jakiś proces w rodzicu.
‫Więc to robimy.
‫Następnie zmniejszamy wartość zdrowia i zapisujemy wyniki dla uproszczenia, abyś mógł sprawdzić, czy strzelając
‫do tego sojusznika, jego zdrowie spada, a następnie przetestować to.
‫Więc zatrzymaj wideo i spróbuj.
‫OK, witaj z powrotem.
‫Więc spróbujmy.
‫Tak więc zdrowie, zasadniczo chcemy je zmniejszyć o zadawane obrażenia.
‫Ale czy to wystarczy?
‫A co, jeśli zadane obrażenia są większe niż pozostało nam zdrowie?
‫Cóż, w takim przypadku prawdopodobnie chcemy, aby zadawane obrażenia były równe tej ilości zdrowia.
‫Więc sposób, w jaki możemy to zrobić, polega na tym, że możemy powiedzieć, że zadano obrażenia.
‫Powinna być równa f kropek matematycznych.
‫Mężczyźni zdrowia.
‫A szkody zostały zastosowane.
‫Więc to jest uszkodzenie, które w zasadzie chcemy zadać.
‫Tak więc zamierzam iść dalej i zmienić nazwę, zamiast nazywać to obrażeniami zadanymi.
‫Zamierzam to nazwać szkodą do zastosowania.
‫Obrażenia do zastosowania, takie jak Saigon, zmień nazwę tego w tym miejscu, a następnie obrażenia, które należy zastosować przeciwko zdrowiu,
‫pomniejszone o obrażenia, które mają sens.
‫A w najgorszym przypadku będzie to zdrowie.
‫Więc to sprowadzi nasze zdrowie do zera.
‫I pamiętaj, że powinniśmy zwrócić szkody, które faktycznie zadaliśmy.
‫Tak więc, aby przywrócić obrażenia, które teraz zostały zastosowane, i wreszcie chcemy, aby na końcu pojawił się dziennik UII, który
‫będzie tylko ostrzeżeniem, abyśmy mogli to zobaczyć.
‫I chcę, żeby to było zdrowie pozostawione tutaj i to będzie procent F, 2% małe F, aby pokazać
‫pływak.
‫A potem możemy wskoczyć do zdrowia i iść dalej i wcisnąć build.
‫Teraz.
‫Mój został skompilowany po naprawieniu brakującego średnika.
‫Tutaj, chodźmy i upewnijmy się, że mamy narzędzia programistyczne dla okien i chcemy mieć tutaj dziennik wyjściowy, abyśmy mogli
‫zobaczyć ten komunikat dziennika.
‫I zamierzam śmiało nacisnąć przycisk odtwarzania, i spróbować strzelić do tej postaci, jeśli go zastrzelę.
‫Proszę bardzo.
‫Zdrowie opuściło 90, 76, t, bla, bla, bla, aż do zera.
‫A jeśli będę dalej strzelał, nie schodzimy poniżej zera z powodu tej f matematyka kropka min.
‫To mówi mi, że mamy prawidłowo skonfigurowane zdrowie.
‫Po prostu inny sposób na zrobienie tego w przeciwieństwie do robienia tego w komponencie.
‫Możesz to zrobić w aktorze, a także w niektórych zaletach i wadach tego podejścia.
‫W końcu możesz chcieć podzielić to na osobne komponenty, aby móc je ponownie wykorzystać w różnych
‫elementach.
‫Ale S to tylko inny sposób, jak teraz mówię, ponieważ ta postać nie wygląda na szczególnie martwą po tym, jak
‫zestrzeliliśmy go do zera zdrowia.
‫Musimy poprawić animacje, aby to wspierać.
‫Więc zobaczymy to na następnym wykładzie i do zobaczenia tam.