﻿1
00:00:10,570 --> 00:00:11,650
‫Witamy spowrotem.

2
00:00:11,680 --> 00:00:14,650
‫W tym filmie zajmujemy się odtwarzaniem dźwięków.

3
00:00:14,890 --> 00:00:18,430
‫Chcielibyśmy zagrać dźwięki, kiedy wystrzeliwujemy pocisk.

4
00:00:18,580 --> 00:00:23,380
‫Kiedy pocisk w coś trafi i kiedy jeden z naszych pionków zginie.

5
00:00:23,590 --> 00:00:25,060
‫Więc wskoczmy od razu.

6
00:00:25,540 --> 00:00:32,770
‫Teraz jestem tutaj w ED i jeśli przejdę do folderu zasobów, mamy ten folder audio i mamy

7
00:00:32,770 --> 00:00:38,350
‫dwa różne dźwięki, które będą dobre, gdy nasz pocisk w coś uderzy.

8
00:00:38,350 --> 00:00:44,170
‫Użyjemy łomotu, a kiedy jeden z naszych pionków zginie, użyjemy dźwięku wybuchu.

9
00:00:44,170 --> 00:00:48,520
‫Możemy również ponownie wykorzystać dźwięk głuchy, gdy wystrzeliwujemy pocisk.

10
00:00:48,550 --> 00:00:54,590
‫Teraz chcielibyśmy, aby nasz pocisk miał dwie zmienne reprezentujące te zasoby dźwiękowe.

11
00:00:54,610 --> 00:00:59,980
‫Teraz, na dole, w sekcji prywatnej, dodam kilka zmiennych i zamierzam przekazać dalej deklarację

12
00:00:59,980 --> 00:01:01,210
‫tej klasy.

13
00:01:01,210 --> 00:01:06,820
‫Teraz klasa, której zamierzam użyć, to twoja podstawa i to będzie wskazówka.

14
00:01:06,820 --> 00:01:09,580
‫Teraz zamierzam nazwać ten dźwięk startowy.

15
00:01:09,760 --> 00:01:15,250
‫Będzie to reprezentować dźwięk, który odtwarzamy, gdy wystrzeliwujemy pocisk.

16
00:01:15,280 --> 00:01:19,570
‫Teraz twoja baza dźwiękowa to klasa, której możemy użyć dla dźwięków.

17
00:01:19,570 --> 00:01:26,050
‫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

18
00:01:26,050 --> 00:01:26,650
‫dźwięków.

19
00:01:26,650 --> 00:01:30,910
‫Więc zamierzam nadać temu właściwość U, abyśmy mogli to ujawnić.

20
00:01:30,910 --> 00:01:36,100
‫I zamierzam go edytować w dowolnym miejscu i umieścić w kategorii walki.

21
00:01:36,100 --> 00:01:39,550
‫Więc jest tam z naszymi innymi zmiennymi bojowymi.

22
00:01:39,850 --> 00:01:45,460
‫Teraz chciałbym użyć innej zmiennej opartej na dźwięku, gdy pocisk w coś uderzy.

23
00:01:45,460 --> 00:01:49,090
‫To będzie kolejny wskaźnik oparty na dźwięku U.

24
00:01:49,090 --> 00:01:55,300
‫Nazwę ten dźwięk uderzenia i nadaję mu tę samą właściwość, co dźwięk startowy.

25
00:01:55,300 --> 00:02:01,660
‫Teraz zauważ, że nie jestem do przodu, deklarując, że brzmisz podstawowo za dźwięk trafienia, ponieważ już

26
00:02:01,660 --> 00:02:03,760
‫zadeklarowałem, że brzmisz podstawowo tutaj.

27
00:02:03,760 --> 00:02:10,720
‫Więc po przekazaniu zadeklarowanego typu w linii, ten typ może być użyty po nim w pliku.

28
00:02:10,720 --> 00:02:16,420
‫Z tego powodu niektórzy ludzie wysuwają swoje deklaracje aż do samego szczytu.

29
00:02:16,420 --> 00:02:17,950
‫To inny sposób na zrobienie tego.

30
00:02:17,950 --> 00:02:26,350
‫Więc jeśli powiedziałem class, brzmisz tutaj na górze, to zajmie się deklaracją przekazującą i mogę użyć typu

31
00:02:26,350 --> 00:02:32,710
‫bazowego use sound w dowolnym miejscu w tym pliku po deklaracji forward.

32
00:02:32,710 --> 00:02:34,420
‫Więc to jest inny sposób na zrobienie tego.

33
00:02:34,420 --> 00:02:40,870
‫Tak więc, żeby pokazać wam obie strony, zamierzam ogłosić, że jesteście rozsądni na górze,

34
00:02:40,870 --> 00:02:43,180
‫zamiast ogłaszać to na dole.

35
00:02:43,330 --> 00:02:48,830
‫Więc teraz musimy użyć zmiennych bazowych dźwięku dla pocisku h.

36
00:02:48,970 --> 00:02:55,210
‫Chciałbym dodać solidną podstawę do klasy pionka podstawowego i będzie to dotyczyć sytuacji, gdy pionek podstawowy zostanie zniszczony.

37
00:02:55,210 --> 00:02:59,920
‫Więc to będzie w sekcji prywatnej i zamierzam to ogłosić tutaj

38
00:02:59,920 --> 00:03:07,210
‫i będzie to podstawowa wskazówka dla ciebie i będę nazywał to dźwiękiem śmierci i to dostanie twoją własność.

39
00:03:07,240 --> 00:03:10,780
‫Mam zamiar przewinąć w dół, abyś mógł lepiej zobaczyć swoją nieruchomość.

40
00:03:10,810 --> 00:03:12,490
‫Zostanie dodany w dowolnym miejscu.

41
00:03:14,240 --> 00:03:16,760
‫I umieszczę to w kategorii.

42
00:03:18,350 --> 00:03:19,220
‫Walka.

43
00:03:19,700 --> 00:03:26,420
‫Więc teraz, gdy nasza baza -- i nasz pocisk używały zmiennych bazowych dźwięku, skompilujmy je

44
00:03:26,420 --> 00:03:29,930
‫i przyjrzyjmy się tym zmiennym w Blueprint.

45
00:03:29,930 --> 00:03:35,690
‫I oczywiście otrzymuję błąd kompilacji, ponieważ nieco zbyt pospiesznie wpisałem ci właściwość.

46
00:03:35,690 --> 00:03:38,420
‫Ta mała litera y powinna być wielką literą y.

47
00:03:38,420 --> 00:03:45,530
‫Te rzeczy są wrażliwe na wielkość liter, więc poprawiając tę literówkę i ponownie kompilując, mam teraz pomyślną

48
00:03:45,530 --> 00:03:46,160
‫kompilację.

49
00:03:46,160 --> 00:03:52,820
‫Więc wskoczmy z powrotem do edytora, tutaj edytorze, zamierzam iść dalej i otworzyć folder aktorów i

50
00:03:52,820 --> 00:03:59,420
‫pocisk BP i mam zamiar otworzyć pełny edytor planów. Po prostu wolę to zrobić.

51
00:03:59,420 --> 00:04:02,540
‫Dzięki temu łatwiej mi zobaczyć, gdzie wszystko jest teraz.

52
00:04:02,540 --> 00:04:09,050
‫Mam tutaj dźwięk uruchamiania i dźwięk trafienia, a ponieważ są one edytowane w dowolnym miejscu, możemy wybrać

53
00:04:09,050 --> 00:04:14,390
‫zasoby dźwiękowe z menu rozwijanego, a ono pokazuje tylko prawidłowe opcje, które mam.

54
00:04:14,390 --> 00:04:19,400
‫Teraz patrzę na dźwięk uruchamiania i zamierzam użyć do tego dźwięku thud.

55
00:04:19,700 --> 00:04:23,000
‫Teraz zamierzam użyć dźwięku Thud również do dźwięku trafienia.

56
00:04:23,000 --> 00:04:24,560
‫Ale zrobiłem dwie zmienne.

57
00:04:24,560 --> 00:04:30,230
‫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

58
00:04:30,230 --> 00:04:31,010
‫uderzenia.

59
00:04:31,010 --> 00:04:33,740
‫Więc to jest skonfigurowane dla Ciebie, jeśli chcesz to zrobić.

60
00:04:33,740 --> 00:04:38,480
‫Teraz to zajmuje się dźwiękiem startu i dźwiękiem trafienia pocisku.

61
00:04:38,480 --> 00:04:41,810
‫Więc zamierzam skompilować, zapisać i zamknąć to.

62
00:04:42,080 --> 00:04:46,280
‫Następnie zamierzam otworzyć stawy i otworzyć zbiornik stawu BP.

63
00:04:46,280 --> 00:04:49,250
‫A oto mój dźwięk śmierci w sekcji walki.

64
00:04:49,490 --> 00:04:56,480
‫Kliknę menu i użyję dźwięku wybuchu i ustawię dźwięk śmierci jako zasób dźwięku

65
00:04:56,480 --> 00:04:57,230
‫wybuchu.

66
00:04:57,260 --> 00:05:04,370
‫Mam zamiar to skompilować i zapisać, zamknąć zbiornik BP pond i otworzyć wieżyczkę BP pond, ponieważ umieściliśmy

67
00:05:04,370 --> 00:05:09,320
‫tę zmienną w klasie base pond, z której wieżyczka również dziedziczy.

68
00:05:09,320 --> 00:05:13,940
‫Zamierzam więc ustawić dźwięk śmierci, aby eksplodował również tutaj.

69
00:05:13,940 --> 00:05:21,200
‫Więc teraz mamy zasoby dźwiękowe, które są przechowywane w zmiennych zarówno w naszych stawach, jak i pocisku.

70
00:05:21,200 --> 00:05:24,530
‫Jedyne, co pozostało, to zagrać te dźwięki.

71
00:05:24,860 --> 00:05:28,550
‫Teraz statystyki gry mają kolejną przydatną funkcję.

72
00:05:28,550 --> 00:05:31,310
‫Nazywa się to odtwarzaniem dźwięku w lokalizacji.

73
00:05:31,310 --> 00:05:37,370
‫Teraz możemy przewinąć w dół i zobaczyć, że wymaga to dużej liczby parametrów wejściowych, ale podobnie

74
00:05:37,370 --> 00:05:42,590
‫jak większość tych funkcji, istnieje wiele parametrów opcjonalnych, które mają wartości domyślne.

75
00:05:42,770 --> 00:05:45,680
‫Więc możemy zagłębić się w kod, aby to zobaczyć.

76
00:05:45,950 --> 00:05:51,410
‫Więc zamierzam wskoczyć do pocisku CP i tutaj i zacząć grać.

77
00:05:51,410 --> 00:06:00,200
‫Wpiszę wam statystyki rozgrywki, odtworzę dźwięk w miejscu i nacisnę tam nawias otwierający i zobaczę, że jest

78
00:06:00,200 --> 00:06:02,750
‫to jedno z dwóch.

79
00:06:03,020 --> 00:06:07,460
‫Teraz ta pierwsza wersja, którą mi pokazuje, przyjmuje obiekt kontekstu świata.

80
00:06:07,460 --> 00:06:09,830
‫Wiemy, że możemy to przekazać za to.

81
00:06:09,830 --> 00:06:12,110
‫A potem trzeba użyć solidnej podstawy.

82
00:06:12,110 --> 00:06:17,810
‫Mamy więc zmienne bazowe dźwięku, a następnie bierzemy wektor F dla lokalizacji.

83
00:06:17,810 --> 00:06:23,360
‫Teraz, jeśli chcemy odtworzyć dźwięk w miejscu pocisku, możemy po prostu użyć lokalizacji aktora,

84
00:06:23,360 --> 00:06:26,060
‫a reszta tych wejść jest opcjonalna.

85
00:06:26,060 --> 00:06:32,420
‫Więc jeśli chcesz się im przyjrzeć, spójrz ponownie na stronę dokumentacji tej funkcji i

86
00:06:32,420 --> 00:06:33,830
‫przeprowadź więcej badań.

87
00:06:33,830 --> 00:06:40,250
‫Ale interesują nas tylko pierwsze trzy wejścia, więc wiemy, jak odtwarzać dźwięki w miejscach, z których możemy

88
00:06:40,250 --> 00:06:40,970
‫skorzystać.

89
00:06:40,970 --> 00:06:47,870
‫Statyki rozgrywki odtwarzają dźwięk w lokalizacji, który przyjmuje obiekt kontekstu świata, dźwięk, do którego możemy

90
00:06:47,870 --> 00:06:54,110
‫użyć naszej bazy dźwiękowej oraz lokalizację, której możemy użyć, aby uzyskać lokalizację aktora.

91
00:06:54,110 --> 00:07:00,410
‫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

92
00:07:00,410 --> 00:07:02,360
‫rozgrywki, które wymagają dźwięków.

93
00:07:02,360 --> 00:07:10,220
‫Więc nazywaj cię statystyką gry, odtwarzaj dźwięk w miejscu w klasie pocisku najpierw w funkcji przy trafieniu i

94
00:07:10,220 --> 00:07:12,500
‫użyj naszej zmiennej dźwięku uderzenia.

95
00:07:12,530 --> 00:07:18,830
‫Zrób to podczas sprawdzania, kiedy sprawdzamy, czy inny aktor jest prawidłowy, a także upewnij się, że inny aktor

96
00:07:18,830 --> 00:07:20,840
‫nie jest tym lub właścicielem.

97
00:07:20,840 --> 00:07:27,020
‫Ale zadzwoń, zanim zniszczymy pocisk i wywołaj odtwarzanie dźwięku w miejscu i zaczniemy grać dla

98
00:07:27,020 --> 00:07:29,630
‫pocisku i użyj dźwięku startu.

99
00:07:29,630 --> 00:07:35,300
‫W ten sposób otrzymamy dźwięk odtwarzany, gdy pocisk się odradza, a także gdy pocisk uderzy

100
00:07:35,330 --> 00:07:36,650
‫w coś następnego.

101
00:07:36,650 --> 00:07:42,110
‫Idź do podstawowej klasy ponga i zadzwoń do odtwarzania dźwięku w miejscu i zajmij się zniszczeniem.

102
00:07:42,110 --> 00:07:43,730
‫I użyjesz dźwięku śmierci.

103
00:07:43,730 --> 00:07:45,110
‫To jest eksplozja.

104
00:07:45,110 --> 00:07:50,000
‫Wstrzymaj wideo i dodaj te połączenia, aby teraz odtwarzać dźwięk w lokalizacji.

105
00:07:53,530 --> 00:07:53,800
‫Dobra.

106
00:07:53,830 --> 00:07:59,470
‫Więc najpierw jesteśmy tutaj w Projectile CP i zamierzam przejść w kolejności wyzwania.

107
00:07:59,470 --> 00:08:04,290
‫Więc najpierw przejdę do uderzenia i zagram dźwięk tutaj.

108
00:08:04,300 --> 00:08:11,440
‫Teraz prawdopodobnie sprawdziłeś, czy dźwięk jest pusty, a jeśli tak, to pochwalam cię, ponieważ

109
00:08:11,440 --> 00:08:14,100
‫masz już dobre nawyki programistyczne.

110
00:08:14,110 --> 00:08:16,120
‫Teraz, jeśli nie, to w porządku.

111
00:08:16,150 --> 00:08:16,990
‫Śmiało i zrób to.

112
00:08:16,990 --> 00:08:17,290
‫Ale już.

113
00:08:17,290 --> 00:08:24,550
‫Zanim wywołamy nową funkcję statyki rozgrywki, sprawdzimy, czy dźwięk trafienia jest prawidłowy.

114
00:08:24,550 --> 00:08:25,450
‫Więc to będziesz ty.

115
00:08:25,450 --> 00:08:32,650
‫Statyka rozgrywki odtwarza dźwięk w miejscu i najpierw potrzebujemy obiektu kontekstu świata, który będzie tym.

116
00:08:32,650 --> 00:08:37,660
‫Następnie potrzebujemy samego dźwięku trafienia i zagramy to w miejscu, w którym znajduje się aktor.

117
00:08:37,660 --> 00:08:42,670
‫Tak więc pobranie lokalizacji aktora spełni ten trzeci parametr.

118
00:08:43,090 --> 00:08:44,260
‫OK, idealnie.

119
00:08:44,260 --> 00:08:47,170
‫Następnie musimy zagrać dźwięk i zacząć grać.

120
00:08:47,170 --> 00:08:49,000
‫Więc wróćmy do góry, aby zacząć grać.

121
00:08:49,000 --> 00:08:54,010
‫W tym przypadku sprawdzimy, czy dźwięk uruchamiania jest poprawny.

122
00:08:54,010 --> 00:09:02,500
‫Powiemy więc, że jeśli dźwięk uruchamiania gry gra statyka odtwarza dźwięk w lokalizacji i oczywiście potrzebujemy obiektu

123
00:09:02,500 --> 00:09:04,030
‫kontekstu świata.

124
00:09:04,030 --> 00:09:09,910
‫To jest to, że podstawą dźwięku będzie dźwięk startowy i zagramy to w lokalizacji

125
00:09:09,910 --> 00:09:10,570
‫aktora.

126
00:09:10,570 --> 00:09:17,140
‫Więc znajdź lokalizację aktora, a to zajmie się odtwarzaniem dźwięku i zacznij grać.

127
00:09:17,140 --> 00:09:23,830
‫Więc ostatnią rzeczą do zrobienia jest odtworzenie dźwięku na podstawie - klasa i radzenie sobie z destrukcją.

128
00:09:23,830 --> 00:09:29,410
‫A teraz, gdy zajmujemy się efektami wizualnymi i dźwiękowymi, nie musimy tutaj mówić, żebyśmy to zrobili, ponieważ

129
00:09:29,410 --> 00:09:30,100
‫to zrobiliśmy.

130
00:09:30,100 --> 00:09:34,120
‫Więc najpierw sprawdzimy, czy dźwięk śmierci jest prawidłowy.

131
00:09:34,120 --> 00:09:41,380
‫Jeśli tak, możemy cię nazwać statystykami rozgrywki, odtwarzającymi dźwięk w lokalizacji za pomocą obiektu kontekstu świata.

132
00:09:41,380 --> 00:09:49,510
‫To będzie podstawa dźwięku, który będzie dźwiękiem śmierci, a lokalizacja aktora zadowoli lokalizację

133
00:09:49,540 --> 00:09:52,330
‫dla tego dźwięku śmierci.

134
00:09:52,450 --> 00:09:53,770
‫Niesamowite.

135
00:09:53,770 --> 00:09:58,570
‫Przejdźmy dalej i skompilujmy nasz kod z udaną kompilacją.

136
00:09:58,600 --> 00:10:02,200
‫Wrócimy tutaj do edytora i przetestujmy to.

137
00:10:02,200 --> 00:10:05,590
‫Więc włączę odtwarzanie i poczekam na minutnik.

138
00:10:14,030 --> 00:10:16,930
‫Podsumowując, mamy teraz dźwięk.

139
00:10:16,940 --> 00:10:23,540
‫Odtwarzamy dźwięk pocisku przy trafieniu i wystrzeleniu, a przy śmierci

140
00:10:23,540 --> 00:10:24,560
‫pionka.

141
00:10:24,830 --> 00:10:30,560
‫Patrząc więc wstecz na nasz plan sekcji, widzimy, że zaznaczyliśmy tutaj prawie każdy element.

142
00:10:30,560 --> 00:10:34,610
‫Nadal pracujemy nad efektami specjalnymi, mamy dym, eksplozje i dźwięki.

143
00:10:34,610 --> 00:10:40,850
‫Jest tylko kilka rzeczy do zrobienia, aby dopracować tę grę i upewnić się, że wygląda i działa,

144
00:10:40,850 --> 00:10:43,730
‫zanim przejdziemy dalej i zakończymy tę sekcję.

145
00:10:43,730 --> 00:10:46,580
‫Do zobaczenia w następnym filmie.

