‫Witamy spowrotem.
‫W tym filmie zajmujemy się odtwarzaniem dźwięków.
‫Chcielibyśmy zagrać dźwięki, kiedy wystrzeliwujemy pocisk.
‫Kiedy pocisk w coś trafi i kiedy jeden z naszych pionków zginie.
‫Więc wskoczmy od razu.
‫Teraz jestem tutaj w ED i jeśli przejdę do folderu zasobów, mamy ten folder audio i mamy
‫dwa różne dźwięki, które będą dobre, gdy nasz pocisk w coś uderzy.
‫Użyjemy łomotu, a kiedy jeden z naszych pionków zginie, użyjemy dźwięku wybuchu.
‫Możemy również ponownie wykorzystać dźwięk głuchy, gdy wystrzeliwujemy pocisk.
‫Teraz chcielibyśmy, aby nasz pocisk miał dwie zmienne reprezentujące te zasoby dźwiękowe.
‫Teraz, na dole, w sekcji prywatnej, dodam kilka zmiennych i zamierzam przekazać dalej deklarację
‫tej klasy.
‫Teraz klasa, której zamierzam użyć, to twoja podstawa i to będzie wskazówka.
‫Teraz zamierzam nazwać ten dźwięk startowy.
‫Będzie to reprezentować dźwięk, który odtwarzamy, gdy wystrzeliwujemy pocisk.
‫Teraz twoja baza dźwiękowa to klasa, której możemy użyć dla dźwięków.
‫Teraz, jeśli udostępnimy to projektom, możemy ustawić to za pomocą naszych zasobów dźwiękowych, które mamy w naszym folderze
‫dźwięków.
‫Więc zamierzam nadać temu właściwość U, abyśmy mogli to ujawnić.
‫I zamierzam go edytować w dowolnym miejscu i umieścić w kategorii walki.
‫Więc jest tam z naszymi innymi zmiennymi bojowymi.
‫Teraz chciałbym użyć innej zmiennej opartej na dźwięku, gdy pocisk w coś uderzy.
‫To będzie kolejny wskaźnik oparty na dźwięku U.
‫Nazwę ten dźwięk uderzenia i nadaję mu tę samą właściwość, co dźwięk startowy.
‫Teraz zauważ, że nie jestem do przodu, deklarując, że brzmisz podstawowo za dźwięk trafienia, ponieważ już
‫zadeklarowałem, że brzmisz podstawowo tutaj.
‫Więc po przekazaniu zadeklarowanego typu w linii, ten typ może być użyty po nim w pliku.
‫Z tego powodu niektórzy ludzie wysuwają swoje deklaracje aż do samego szczytu.
‫To inny sposób na zrobienie tego.
‫Więc jeśli powiedziałem class, brzmisz tutaj na górze, to zajmie się deklaracją przekazującą i mogę użyć typu
‫bazowego use sound w dowolnym miejscu w tym pliku po deklaracji forward.
‫Więc to jest inny sposób na zrobienie tego.
‫Tak więc, żeby pokazać wam obie strony, zamierzam ogłosić, że jesteście rozsądni na górze,
‫zamiast ogłaszać to na dole.
‫Więc teraz musimy użyć zmiennych bazowych dźwięku dla pocisku h.
‫Chciałbym dodać solidną podstawę do klasy pionka podstawowego i będzie to dotyczyć sytuacji, gdy pionek podstawowy zostanie zniszczony.
‫Więc to będzie w sekcji prywatnej i zamierzam to ogłosić tutaj
‫i będzie to podstawowa wskazówka dla ciebie i będę nazywał to dźwiękiem śmierci i to dostanie twoją własność.
‫Mam zamiar przewinąć w dół, abyś mógł lepiej zobaczyć swoją nieruchomość.
‫Zostanie dodany w dowolnym miejscu.
‫I umieszczę to w kategorii.
‫Walka.
‫Więc teraz, gdy nasza baza -- i nasz pocisk używały zmiennych bazowych dźwięku, skompilujmy je
‫i przyjrzyjmy się tym zmiennym w Blueprint.
‫I oczywiście otrzymuję błąd kompilacji, ponieważ nieco zbyt pospiesznie wpisałem ci właściwość.
‫Ta mała litera y powinna być wielką literą y.
‫Te rzeczy są wrażliwe na wielkość liter, więc poprawiając tę literówkę i ponownie kompilując, mam teraz pomyślną
‫kompilację.
‫Więc wskoczmy z powrotem do edytora, tutaj edytorze, zamierzam iść dalej i otworzyć folder aktorów i
‫pocisk BP i mam zamiar otworzyć pełny edytor planów. Po prostu wolę to zrobić.
‫Dzięki temu łatwiej mi zobaczyć, gdzie wszystko jest teraz.
‫Mam tutaj dźwięk uruchamiania i dźwięk trafienia, a ponieważ są one edytowane w dowolnym miejscu, możemy wybrać
‫zasoby dźwiękowe z menu rozwijanego, a ono pokazuje tylko prawidłowe opcje, które mam.
‫Teraz patrzę na dźwięk uruchamiania i zamierzam użyć do tego dźwięku thud.
‫Teraz zamierzam użyć dźwięku Thud również do dźwięku trafienia.
‫Ale zrobiłem dwie zmienne.
‫Więc jeśli zdobędziesz więcej efektów dźwiękowych, możesz użyć innego dźwięku do uruchomienia niż do dźwięku
‫uderzenia.
‫Więc to jest skonfigurowane dla Ciebie, jeśli chcesz to zrobić.
‫Teraz to zajmuje się dźwiękiem startu i dźwiękiem trafienia pocisku.
‫Więc zamierzam skompilować, zapisać i zamknąć to.
‫Następnie zamierzam otworzyć stawy i otworzyć zbiornik stawu BP.
‫A oto mój dźwięk śmierci w sekcji walki.
‫Kliknę menu i użyję dźwięku wybuchu i ustawię dźwięk śmierci jako zasób dźwięku
‫wybuchu.
‫Mam zamiar to skompilować i zapisać, zamknąć zbiornik BP pond i otworzyć wieżyczkę BP pond, ponieważ umieściliśmy
‫tę zmienną w klasie base pond, z której wieżyczka również dziedziczy.
‫Zamierzam więc ustawić dźwięk śmierci, aby eksplodował również tutaj.
‫Więc teraz mamy zasoby dźwiękowe, które są przechowywane w zmiennych zarówno w naszych stawach, jak i pocisku.
‫Jedyne, co pozostało, to zagrać te dźwięki.
‫Teraz statystyki gry mają kolejną przydatną funkcję.
‫Nazywa się to odtwarzaniem dźwięku w lokalizacji.
‫Teraz możemy przewinąć w dół i zobaczyć, że wymaga to dużej liczby parametrów wejściowych, ale podobnie
‫jak większość tych funkcji, istnieje wiele parametrów opcjonalnych, które mają wartości domyślne.
‫Więc możemy zagłębić się w kod, aby to zobaczyć.
‫Więc zamierzam wskoczyć do pocisku CP i tutaj i zacząć grać.
‫Wpiszę wam statystyki rozgrywki, odtworzę dźwięk w miejscu i nacisnę tam nawias otwierający i zobaczę, że jest
‫to jedno z dwóch.
‫Teraz ta pierwsza wersja, którą mi pokazuje, przyjmuje obiekt kontekstu świata.
‫Wiemy, że możemy to przekazać za to.
‫A potem trzeba użyć solidnej podstawy.
‫Mamy więc zmienne bazowe dźwięku, a następnie bierzemy wektor F dla lokalizacji.
‫Teraz, jeśli chcemy odtworzyć dźwięk w miejscu pocisku, możemy po prostu użyć lokalizacji aktora,
‫a reszta tych wejść jest opcjonalna.
‫Więc jeśli chcesz się im przyjrzeć, spójrz ponownie na stronę dokumentacji tej funkcji i
‫przeprowadź więcej badań.
‫Ale interesują nas tylko pierwsze trzy wejścia, więc wiemy, jak odtwarzać dźwięki w miejscach, z których możemy
‫skorzystać.
‫Statyki rozgrywki odtwarzają dźwięk w lokalizacji, który przyjmuje obiekt kontekstu świata, dźwięk, do którego możemy
‫użyć naszej bazy dźwiękowej oraz lokalizację, której możemy użyć, aby uzyskać lokalizację aktora.
‫Twoim wyzwaniem będzie więc wywołanie odtwarzania dźwięku w miejscu i odtwarzanie dźwięków dla różnych aspektów naszej
‫rozgrywki, które wymagają dźwięków.
‫Więc nazywaj cię statystyką gry, odtwarzaj dźwięk w miejscu w klasie pocisku najpierw w funkcji przy trafieniu i
‫użyj naszej zmiennej dźwięku uderzenia.
‫Zrób to podczas sprawdzania, kiedy sprawdzamy, czy inny aktor jest prawidłowy, a także upewnij się, że inny aktor
‫nie jest tym lub właścicielem.
‫Ale zadzwoń, zanim zniszczymy pocisk i wywołaj odtwarzanie dźwięku w miejscu i zaczniemy grać dla
‫pocisku i użyj dźwięku startu.
‫W ten sposób otrzymamy dźwięk odtwarzany, gdy pocisk się odradza, a także gdy pocisk uderzy
‫w coś następnego.
‫Idź do podstawowej klasy ponga i zadzwoń do odtwarzania dźwięku w miejscu i zajmij się zniszczeniem.
‫I użyjesz dźwięku śmierci.
‫To jest eksplozja.
‫Wstrzymaj wideo i dodaj te połączenia, aby teraz odtwarzać dźwięk w lokalizacji.
‫Dobra.
‫Więc najpierw jesteśmy tutaj w Projectile CP i zamierzam przejść w kolejności wyzwania.
‫Więc najpierw przejdę do uderzenia i zagram dźwięk tutaj.
‫Teraz prawdopodobnie sprawdziłeś, czy dźwięk jest pusty, a jeśli tak, to pochwalam cię, ponieważ
‫masz już dobre nawyki programistyczne.
‫Teraz, jeśli nie, to w porządku.
‫Śmiało i zrób to.
‫Ale już.
‫Zanim wywołamy nową funkcję statyki rozgrywki, sprawdzimy, czy dźwięk trafienia jest prawidłowy.
‫Więc to będziesz ty.
‫Statyka rozgrywki odtwarza dźwięk w miejscu i najpierw potrzebujemy obiektu kontekstu świata, który będzie tym.
‫Następnie potrzebujemy samego dźwięku trafienia i zagramy to w miejscu, w którym znajduje się aktor.
‫Tak więc pobranie lokalizacji aktora spełni ten trzeci parametr.
‫OK, idealnie.
‫Następnie musimy zagrać dźwięk i zacząć grać.
‫Więc wróćmy do góry, aby zacząć grać.
‫W tym przypadku sprawdzimy, czy dźwięk uruchamiania jest poprawny.
‫Powiemy więc, że jeśli dźwięk uruchamiania gry gra statyka odtwarza dźwięk w lokalizacji i oczywiście potrzebujemy obiektu
‫kontekstu świata.
‫To jest to, że podstawą dźwięku będzie dźwięk startowy i zagramy to w lokalizacji
‫aktora.
‫Więc znajdź lokalizację aktora, a to zajmie się odtwarzaniem dźwięku i zacznij grać.
‫Więc ostatnią rzeczą do zrobienia jest odtworzenie dźwięku na podstawie - klasa i radzenie sobie z destrukcją.
‫A teraz, gdy zajmujemy się efektami wizualnymi i dźwiękowymi, nie musimy tutaj mówić, żebyśmy to zrobili, ponieważ
‫to zrobiliśmy.
‫Więc najpierw sprawdzimy, czy dźwięk śmierci jest prawidłowy.
‫Jeśli tak, możemy cię nazwać statystykami rozgrywki, odtwarzającymi dźwięk w lokalizacji za pomocą obiektu kontekstu świata.
‫To będzie podstawa dźwięku, który będzie dźwiękiem śmierci, a lokalizacja aktora zadowoli lokalizację
‫dla tego dźwięku śmierci.
‫Niesamowite.
‫Przejdźmy dalej i skompilujmy nasz kod z udaną kompilacją.
‫Wrócimy tutaj do edytora i przetestujmy to.
‫Więc włączę odtwarzanie i poczekam na minutnik.
‫Podsumowując, mamy teraz dźwięk.
‫Odtwarzamy dźwięk pocisku przy trafieniu i wystrzeleniu, a przy śmierci
‫pionka.
‫Patrząc więc wstecz na nasz plan sekcji, widzimy, że zaznaczyliśmy tutaj prawie każdy element.
‫Nadal pracujemy nad efektami specjalnymi, mamy dym, eksplozje i dźwięki.
‫Jest tylko kilka rzeczy do zrobienia, aby dopracować tę grę i upewnić się, że wygląda i działa,
‫zanim przejdziemy dalej i zakończymy tę sekcję.
‫Do zobaczenia w następnym filmie.