﻿1
00:00:04,420 --> 00:00:05,380
‫Cześć i witaj.

2
00:00:05,380 --> 00:00:09,940
‫Na tym wykładzie przedstawimy tutaj ten fragment kodu, zakres aktorów T,

3
00:00:09,940 --> 00:00:14,830
‫i zobaczymy, jak pozwala nam iterować po wszystkich aktorach na danym poziomie.

4
00:00:14,980 --> 00:00:16,540
‫Zanurzmy się i zobaczmy, jak to działa.

5
00:00:17,500 --> 00:00:25,240
‫Tak więc w chwili, gdy pionek został zabity w trybie gry KML nazywamy, że gra zakończyła się na kontrolerze gracza, ale

6
00:00:25,900 --> 00:00:32,110
‫w rzeczywistości gra się skończyła jest funkcją na wszystkich kontrolerach, czy to I, czy kontrolerach gracza.

7
00:00:32,110 --> 00:00:38,950
‫I prawdopodobnie powinniśmy również powiadomić kontrolerów powietrznych, że gra się skończyła i na pewno tak się

8
00:00:38,950 --> 00:00:43,690
‫stanie, albo ułatwi to również spełnienie warunku wygranej, ponieważ niekoniecznie będziemy

9
00:00:43,690 --> 00:00:46,000
‫mieć gracza -- nadchodzi. tutaj.

10
00:00:46,960 --> 00:00:49,900
‫Więc jak mamy iść do przodu i to zrobić?

11
00:00:50,200 --> 00:00:55,840
‫No cóż, mam zamiar stworzyć nową funkcję w trybie „zabij ich wszystkich”, prywatną o

12
00:00:55,840 --> 00:00:59,500
‫nazwie End Game, która będzie odpowiedzialna za ten akt.

13
00:00:59,500 --> 00:01:02,680
‫Więc koniec gry i będzie potrzebować trochę informacji.

14
00:01:02,680 --> 00:01:04,720
‫Będzie musiało wiedzieć, kto wygrał.

15
00:01:04,720 --> 00:01:05,620
‫Czy to był gracz?

16
00:01:05,670 --> 00:01:06,700
‫Czy to był A. I.?

17
00:01:06,730 --> 00:01:11,500
‫Więc zamierzam stworzyć pulę o nazwie B jest zwycięzcą gracza.

18
00:01:12,280 --> 00:01:18,940
‫I to właśnie mówi nam, czy powinniśmy mówić facetowi, że wygraliśmy, czy też graczowi,

19
00:01:18,940 --> 00:01:19,900
‫że wygraliśmy.

20
00:01:19,900 --> 00:01:22,600
‫Pamiętajcie, że tutaj nasza gra się skończyła.

21
00:01:22,600 --> 00:01:26,440
‫Boolean mówi kontrolerowi, czy jest jednym ze zwycięzców.

22
00:01:27,550 --> 00:01:31,900
‫Więc to, co musimy zrobić, to najpierw wymyślić, chodźmy dalej i stwórzmy implementację.

23
00:01:31,900 --> 00:01:35,170
‫Więc zrobię moje przesunięcie sterowania P, a następnie stworzę implementację.

24
00:01:36,010 --> 00:01:41,620
‫A potem będziemy musieli wymyślić, jak możemy znaleźć wszystkie kontrolery w naszej scenie,

25
00:01:41,620 --> 00:01:45,280
‫abyśmy mogli na tych kontrolerach nazwać grę zakończoną.

26
00:01:46,510 --> 00:01:51,850
‫Teraz zamierzamy to zrobić za pomocą wywołania pomocnika silnika.

27
00:01:51,850 --> 00:01:59,110
‫Więc zapomnij o haszowaniu, użyjemy narzędzi silnika kropka. Przede wszystkim, co wprowadzi w

28
00:01:59,110 --> 00:02:07,630
‫zakres helpera, którego chcę, a helper nazywa się T actor range, a T actor range jest

29
00:02:07,630 --> 00:02:08,230
‫szablonem.

30
00:02:08,230 --> 00:02:11,290
‫Więc możemy zrobić tutaj nawiasy kątowe.

31
00:02:11,740 --> 00:02:18,700
‫Możemy wtedy umieścić kontroler, a następnie nawiasy i uzyskać świat.

32
00:02:18,790 --> 00:02:19,960
‫Teraz, co to zrobi?

33
00:02:19,990 --> 00:02:27,460
‫Zwróci jako obiekt zakresu, który jest w zasadzie czymś w rodzaju listy, która przechodzi przez

34
00:02:27,460 --> 00:02:28,540
‫wszystkie kontrolery.

35
00:02:28,930 --> 00:02:35,740
‫Dlatego mamy na świecie ten parametr kontrolera. k. a poziom i możemy go użyć

36
00:02:35,740 --> 00:02:37,150
‫w pełnej pętli.

37
00:02:37,240 --> 00:02:44,050
‫Pozwólcie, że zacznę zawijać to w pętlę, abyśmy mogli zrobić for over kontroler A.

38
00:02:44,110 --> 00:02:49,210
‫Więc ta rzecz, która jest zmienną, nad którą będziemy aranżować, będzie wskaźnikiem do kontrolera,

39
00:02:49,210 --> 00:02:50,950
‫który będę nazywał kontrolerem.

40
00:02:52,270 --> 00:02:56,110
‫A potem używamy dwukropka do określenia zakresu.

41
00:02:56,110 --> 00:03:02,830
‫Będzie to ta seria T active i będziemy mogli umieścić nasze ubrania w nawiasach i nawiasach klamrowych.

42
00:03:03,280 --> 00:03:04,840
‫Więc co to mówi?

43
00:03:04,840 --> 00:03:11,890
‫Mówi, że zrobimy pełną pętlę nad każdym kontrolerem na świecie i będzie to ta

44
00:03:11,890 --> 00:03:14,140
‫zmienna o nazwie kontroler.

45
00:03:15,180 --> 00:03:17,650
‫A teraz jest kilka rzeczy, które możesz potrzebować wiedzieć.

46
00:03:17,670 --> 00:03:21,720
‫Jedną rzeczą jest to, że możemy zapytać kontroler o to, czy jest to kontroler gracza, bez

47
00:03:21,720 --> 00:03:22,500
‫konieczności rzucania.

48
00:03:22,500 --> 00:03:24,870
‫Właściwie możemy po prostu zrobić strzałkę kontrolera.

49
00:03:24,870 --> 00:03:28,590
‫A potem myślę, że będę musiał dołączyć tutaj mój kontroler.

50
00:03:28,590 --> 00:03:36,330
‫Tak więc hash zawiera na górze, zrobimy framework gry z ukośnikiem do przodu H i teraz wszystko do

51
00:03:36,330 --> 00:03:38,190
‫ukończenia prawdopodobnie będzie działać.

52
00:03:38,370 --> 00:03:38,950
‫Tak, to ma.

53
00:03:38,970 --> 00:03:41,730
‫Możemy więc oczywiście nazwać grę skończoną.

54
00:03:41,730 --> 00:03:43,410
‫To moje pierwsze autouzupełnianie tutaj.

55
00:03:43,710 --> 00:03:46,290
‫Ale też możemy powiedzieć, że jest to kontroler gracza.

56
00:03:46,590 --> 00:03:50,340
‫Zasadniczo będzie to powiedzieć, czy jest to coś na świecie do grania w kontroler?

57
00:03:50,820 --> 00:03:58,170
‫A to pozwoli nam zdecydować, czy powinniśmy przekazywać prawdę czy fałsz, aby gra się skończyła.

58
00:03:58,500 --> 00:04:04,830
‫Więc moim wyzwaniem dla ciebie jest wypełnienie tej pętli for poprzez wywołanie gry zakończonej poprawnym parametrem

59
00:04:04,830 --> 00:04:05,640
‫boolowskim.

60
00:04:06,330 --> 00:04:12,540
‫Zamierzamy to zrobić, aby zasadniczo było to prawdą, jeśli kontroler, z którym rozmawiamy,

61
00:04:12,540 --> 00:04:18,930
‫kontroler aktualnie w pętli for jest kontrolerem gracza, a ich wartość logiczna, którą przekazaliśmy,

62
00:04:18,930 --> 00:04:26,040
‫mówi, że kontroler gracza jest zwycięzca powinien być również prawdziwy, jeśli nie jest kontrolerem gry, a nie

63
00:04:26,040 --> 00:04:32,940
‫graczem, gracz jest zwycięzcą, zasadniczo mówiąc, jeśli jest to sojusznik, a facet jest zwycięzcą, fałsz, jeśli

64
00:04:32,940 --> 00:04:39,810
‫gracz kontroluje gracza, ale gracz nie jest zwycięzcą i false jeśli nie kontroler gracza, ale gracz

65
00:04:39,810 --> 00:04:40,830
‫jest zwycięzcą.

66
00:04:40,830 --> 00:04:43,290
‫Miejmy nadzieję, że widzisz, do czego to zmierza.

67
00:04:43,710 --> 00:04:47,940
‫Wstrzymaj więc wideo i spróbuj go zaimplementować w taki sposób, że możesz użyć instrukcji if.

68
00:04:47,940 --> 00:04:53,580
‫Możesz użyć innej logiki, aby obliczyć to wideo pauzy logicznej i spróbować.

69
00:04:54,840 --> 00:04:55,340
‫Dobra.

70
00:04:55,350 --> 00:04:55,890
‫Witamy spowrotem.

71
00:04:55,900 --> 00:04:57,890
‫Możesz to zrobić na wiele sposobów.

72
00:04:57,900 --> 00:05:05,220
‫Jednym ze sposobów może być stwierdzenie, czy pszczoła jest graczem, kontroluj zwycięzcę, a następnie umieścimy coś w

73
00:05:05,220 --> 00:05:06,300
‫oświadczeniu if.

74
00:05:06,690 --> 00:05:14,160
‫Możemy zrobić tutaj podciągnięcie, aby zdecydować, że w zasadzie B jest kontrolerem gracza.

75
00:05:15,210 --> 00:05:18,750
‫Które uratujemy od tego, że robimy kontroler.

76
00:05:19,810 --> 00:05:23,470
‫Strzałka gra kontrolera w ten sposób.

77
00:05:24,220 --> 00:05:28,120
‫A potem możemy powiedzieć, dobrze, chcemy zadzwonić do kontrolera.

78
00:05:28,390 --> 00:05:30,790
‫Gra ze strzałkami dobiegła końca.

79
00:05:31,150 --> 00:05:33,070
‫Na razie pominiemy punkty zerowe.

80
00:05:33,370 --> 00:05:40,600
‫A potem powiemy, cóż, jeśli jest to gracz, który jest zwycięzcą, a my jesteśmy kontrolerem gracza, to tak,

81
00:05:40,600 --> 00:05:43,250
‫po prostu idź z tą wartością.

82
00:05:43,270 --> 00:05:44,920
‫Więc zagraj w kontroler.

83
00:05:44,950 --> 00:05:47,830
‫W przeciwnym razie, jeśli nie jest to kontroler gracza, przegra.

84
00:05:48,250 --> 00:05:50,600
‫I możemy to po prostu zanegować, żeby móc powiedzieć.

85
00:05:50,620 --> 00:05:58,750
‫Inaczej nazwamy grę kontrolerem, która zakończyła się, a nie jest kontrolerem gracza, ponieważ mówimy, że

86
00:05:58,750 --> 00:06:04,630
‫gracz nie jest zwycięzcą, w tym stwierdzeniu zwycięzcą jest powietrze.

87
00:06:05,020 --> 00:06:11,650
‫A więc to, co chcemy zrobić, to powiedzieć, że zależy od tego, czy widzą przeciwieństwo tego, czy

88
00:06:11,650 --> 00:06:14,110
‫gracz wygrał, czyli wygrał powietrze.

89
00:06:14,800 --> 00:06:17,140
‫Więc to na pewno jeden ze sposobów.

90
00:06:17,500 --> 00:06:22,900
‫Ale jest inny i prostszy sposób, który polega po prostu na tym, czy jesteśmy zwycięzcami?

91
00:06:22,960 --> 00:06:25,750
‫Więc bądź zwycięzcą.

92
00:06:26,590 --> 00:06:36,520
‫A to może po prostu oznaczać, że to, czy jesteś kontrolerem gracza, jest równe B, jest zwycięzcą gracza.

93
00:06:37,030 --> 00:06:39,460
‫Teraz zastanówmy się nad tym trochę więcej.

94
00:06:39,730 --> 00:06:42,960
‫I po prostu dokończę to w pełni i wtedy o tym porozmawiamy.

95
00:06:42,970 --> 00:06:51,910
‫Więc powiemy, że gra z kontrolerem kapelusza się skończyła, będzie zerową wskazówką, gdy B to zwycięzca przekazany

96
00:06:52,000 --> 00:06:52,840
‫tutaj.

97
00:06:54,040 --> 00:06:56,350
‫Dlaczego to stwierdzenie działa?

98
00:06:56,680 --> 00:06:58,090
‫Cóż, pomyślmy o przypadkach.

99
00:06:58,090 --> 00:06:58,390
‫Dobrze.

100
00:06:58,750 --> 00:07:04,210
‫Więc mamy tutaj kontroler gracza i wtedy gracz jest zwycięzcą?

101
00:07:04,210 --> 00:07:05,680
‫Tak, jesteśmy zwycięzcą.

102
00:07:05,890 --> 00:07:06,670
‫I są równe.

103
00:07:06,700 --> 00:07:07,480
‫Prawda i prawda.

104
00:07:08,350 --> 00:07:13,330
‫A jeśli to nie jest kontroler gracza, a gracz nie jest zwycięzcą?

105
00:07:13,810 --> 00:07:15,070
‫Cóż, to jest fałszywe.

106
00:07:15,400 --> 00:07:17,380
‫I to tutaj też jest fałszywe.

107
00:07:17,500 --> 00:07:21,520
‫Aby obaj byli równi, a wynik był zwycięski.

108
00:07:21,550 --> 00:07:22,060
‫Czy to prawda?

109
00:07:22,090 --> 00:07:22,360
‫Tak.

110
00:07:22,360 --> 00:07:27,130
‫Bo jeśli jesteśmy ja i ja jako zwycięzcy, to powinniśmy być zwycięzcami.

111
00:07:27,880 --> 00:07:33,340
‫W przeciwnym razie, jeśli te dwa nie są równe, ja. mi. że mamy kontroler powietrza, ale

112
00:07:33,340 --> 00:07:39,130
‫gracz jest zwycięzcą, albo mamy kontroler gracza i powietrze jest zwycięzcą, wtedy będziemy mieli prawdę i fałsz

113
00:07:39,130 --> 00:07:40,750
‫lub fałsz i prawda.

114
00:07:41,260 --> 00:07:45,040
‫Te dwa nie będą równe, a wartość logiczna będzie fałszem.

115
00:07:45,400 --> 00:07:50,950
‫Widać więc, że w każdym przypadku, a ja przejrzałem wszystkie tam, to kończy się właściwą

116
00:07:50,950 --> 00:07:51,670
‫odpowiedzią.

117
00:07:51,670 --> 00:07:53,410
‫Więc wiemy, że to prawda.

118
00:07:53,410 --> 00:07:58,270
‫A więc to jest wspaniałe w przypadku wartości logicznych to, że zazwyczaj można ocenić wszystkie przypadki, ponieważ

119
00:07:58,270 --> 00:08:00,370
‫można powiedzieć, ok, cóż, jakie są przypadki?

120
00:08:00,370 --> 00:08:01,840
‫To będzie prawda i prawda.

121
00:08:01,840 --> 00:08:02,950
‫To będzie prawda i fałsz.

122
00:08:02,950 --> 00:08:03,940
‫To będzie fałszywe i prawdziwe.

123
00:08:03,940 --> 00:08:05,020
‫To będzie fałszywe i fałszywe.

124
00:08:05,440 --> 00:08:06,910
‫Możesz ocenić wszystkie te przypadki.

125
00:08:06,910 --> 00:08:12,370
‫Jeśli wszystkie te przypadki są poprawne, to wiesz, że masz poprawną instrukcję Boole'a.

126
00:08:13,120 --> 00:08:13,360
‫Fajny.

127
00:08:13,690 --> 00:08:18,400
‫Więc tak zamierzamy obliczyć B, kiedy w końcu musimy tylko wywołać nasz tryb gry końcowej.

128
00:08:18,400 --> 00:08:24,220
‫W tej chwili wykonujemy bezpośrednie wywołanie, że gra się zakończyła i to, co tak naprawdę chcę

129
00:08:24,220 --> 00:08:31,540
‫tutaj zrobić, to iść dalej i wywołać koniec gry, a my chcemy przejść na fałsz, ponieważ jest to sytuacja, w

130
00:08:31,540 --> 00:08:36,550
‫której gracz faktycznie przegrał i to jest w zasadzie to, co chcemy osiągnąć.

131
00:08:36,580 --> 00:08:42,280
‫Teraz jeszcze jedną rzeczą, na którą należy zwrócić uwagę, jest to, że

132
00:08:42,340 --> 00:08:50,500
‫te zerowe punkty, które przekazaliśmy, doprowadzą nas do dalszych problemów, ponieważ jeśli gracz rzeczywiście wygrał, spróbuje odwrócić uwagę

133
00:08:50,500 --> 00:08:52,720
‫od naszego gracza basen.

134
00:08:52,720 --> 00:09:01,030
‫A więc to, co chcemy tutaj przekazać, to po prostu to, że należy skupić się na kropki kontrolera --.

135
00:09:01,750 --> 00:09:08,860
‫A to zasadniczo oznacza, że powinieneś skupić się na swoim własnym kontrolerze gracza, czy to w zasadzie, gdzie powinna

136
00:09:08,860 --> 00:09:10,420
‫być skierowana twoja kamera?

137
00:09:10,690 --> 00:09:12,340
‫Powinien nadal wskazywać na twojego pionka.

138
00:09:12,970 --> 00:09:14,560
‫Dlaczego to ważne, abyśmy to robili?

139
00:09:14,860 --> 00:09:17,140
‫A dlaczego w ogóle jest ta opcja?

140
00:09:17,140 --> 00:09:23,830
‫Cóż, w wielu grach, często lub w wielu grach w stylu meczowym, możesz mieć, że jeśli gra

141
00:09:23,830 --> 00:09:27,370
‫się skończy, chcesz iść i podążać za pionkiem.

142
00:09:27,370 --> 00:09:28,240
‫To był zwycięzca.

143
00:09:28,240 --> 00:09:34,070
‫Więc wyobraź sobie, jak w scenariuszu Fortnite, często idziesz i podążasz za osobą, która cię zabiła.

144
00:09:34,450 --> 00:09:36,370
‫To jest mechanizm, który to robi.

145
00:09:36,370 --> 00:09:40,220
‫W zasadzie przechodzisz w pionka osoby, która zabiła.

146
00:09:40,570 --> 00:09:41,770
‫To właśnie robimy w naszej grze.

147
00:09:41,770 --> 00:09:45,340
‫Będziemy dalej patrzeć na Apple i czy wygramy, czy zginiemy.

148
00:09:45,430 --> 00:09:46,930
‫Więc to tyle na wykład.

149
00:09:46,930 --> 00:09:50,040
‫Po prostu skompilujmy i zobaczmy, czy działa.

150
00:09:50,050 --> 00:09:53,230
‫Zanurzmy się w Unreal i włącz grę.

151
00:09:53,440 --> 00:09:55,930
‫Chodźmy i dajmy się zabić.

152
00:09:56,080 --> 00:09:56,770
‫Proszę bardzo.

153
00:09:57,040 --> 00:09:58,720
‫Wszystko działa jak poprzednio.

154
00:09:58,720 --> 00:10:03,100
‫Nadal odbieramy to wywołanie do kontrolera gracza, a następnie restartujemy.

155
00:10:03,160 --> 00:10:03,730
‫Świetna sprawa.

156
00:10:03,730 --> 00:10:06,400
‫Więc w tym wykładzie, żeby podsumować, co widzieliśmy?

157
00:10:06,400 --> 00:10:14,200
‫Cóż, widzieliśmy, jak możemy iterować po aktorach na poziomie, aby zrobić coś takiego, jak wywołanie funkcji

158
00:10:14,200 --> 00:10:16,750
‫na każdym z tych aktorów.

159
00:10:16,930 --> 00:10:23,410
‫W następnym wykładzie ponownie użyjemy zakresu aktora T, tym razem do obliczenia, czy gracz go posiada.

160
00:10:23,710 --> 00:10:24,220
‫Do zobaczenia.

