﻿1
00:00:04,420 --> 00:00:05,380
‫Ciao e Benvenuto.

2
00:00:05,380 --> 00:00:09,940
‫In questa lezione, introdurremo qui questo pezzo di codice, la gamma di attori

3
00:00:09,940 --> 00:00:14,830
‫T, e vedremo come ci permette di scorrere su tutti gli attori in un dato livello.

4
00:00:14,980 --> 00:00:16,540
‫Entriamo e vediamo come funziona.

5
00:00:17,500 --> 00:00:25,240
‫Quindi al momento nel pedone ucciso della modalità di gioco KML che chiamiamo il gioco è terminato sul controller del giocatore, ma in realtà

6
00:00:25,900 --> 00:00:32,110
‫il gioco è terminato è una funzione su tutti i controller, sia I che i controller del giocatore.

7
00:00:32,110 --> 00:00:38,950
‫E probabilmente dovremmo avvisare anche i controllori dell'aria che il gioco è terminato e questo sarà sicuramente il caso o

8
00:00:38,950 --> 00:00:43,690
‫renderà più facile anche creare una condizione di vittoria perché non avremo necessariamente

9
00:00:43,690 --> 00:00:46,000
‫il giocatore - in arrivo qui.

10
00:00:46,960 --> 00:00:49,900
‫Quindi, come possiamo andare avanti e farlo?

11
00:00:50,200 --> 00:00:55,840
‫Bene, creerò una nuova funzione nella modalità di gioco kill them all, una privata

12
00:00:55,840 --> 00:00:59,500
‫chiamata End Game, che sarà responsabile di questo atto.

13
00:00:59,500 --> 00:01:02,680
‫Quindi finisci il gioco e avrà bisogno di alcune informazioni.

14
00:01:02,680 --> 00:01:04,720
‫Avrà bisogno di sapere chi ha vinto.

15
00:01:04,720 --> 00:01:05,620
‫È stato il giocatore?

16
00:01:05,670 --> 00:01:06,700
‫È stato l'A. IO.?

17
00:01:06,730 --> 00:01:11,500
‫Quindi creerò un pool qui chiamato B è il vincitore del giocatore.

18
00:01:12,280 --> 00:01:18,940
‫E questo sarà ciò che ci dirà se dovremmo o meno dire al ragazzo che ha vinto o dire al giocatore

19
00:01:18,940 --> 00:01:19,900
‫che ha vinto.

20
00:01:19,900 --> 00:01:22,600
‫Perché ricorda che qui il nostro gioco è finito.

21
00:01:22,600 --> 00:01:26,440
‫Prende Boolean che dice al controller se è o meno uno dei vincitori.

22
00:01:27,550 --> 00:01:31,900
‫Quindi quello che dovremo fare è capire, prima di tutto, andiamo avanti e creiamo l'implementazione.

23
00:01:31,900 --> 00:01:35,170
‫Quindi farò il mio turno di controllo P e poi creerò l'implementazione.

24
00:01:36,010 --> 00:01:41,620
‫E poi dovremo capire come possiamo trovare tutti i controller nella nostra scena in modo da

25
00:01:41,620 --> 00:01:45,280
‫poter chiamare che il gioco è terminato su quei controller.

26
00:01:46,510 --> 00:01:51,850
‫Ora il modo in cui lo faremo è usare una chiamata di supporto del motore.

27
00:01:51,850 --> 00:01:59,110
‫Quindi dimentica di includere l'hash, useremo prima di tutto le utilità del motore dot h che

28
00:01:59,110 --> 00:02:07,630
‫porteranno nell'ambito dell'helper che voglio e l'helper si chiama T attore gamma e T attore gamma è una cosa del

29
00:02:07,630 --> 00:02:08,230
‫modello.

30
00:02:08,230 --> 00:02:11,290
‫Quindi possiamo fare le parentesi angolari qui.

31
00:02:11,740 --> 00:02:18,700
‫Possiamo quindi mettere un controller e poi le parentesi e ottenere il mondo.

32
00:02:18,790 --> 00:02:19,960
‫Ora cosa farà?

33
00:02:19,990 --> 00:02:27,460
‫Tornerà come un oggetto range, che è fondamentalmente una specie di elenco che va su tutti

34
00:02:27,460 --> 00:02:28,540
‫i controller.

35
00:02:28,930 --> 00:02:35,740
‫Ecco perché abbiamo quel parametro del controller là nel mondo a. K. a il livello, e possiamo usarlo in

36
00:02:35,740 --> 00:02:37,150
‫un ciclo completo.

37
00:02:37,240 --> 00:02:44,050
‫Quindi lasciami iniziare a avvolgere questo in un ciclo così possiamo fare un sopra il controller A.

38
00:02:44,110 --> 00:02:49,210
‫Quindi quella cosa che è la variabile su cui andremo a sistemare sarà un puntatore

39
00:02:49,210 --> 00:02:50,950
‫del controller, che chiamerò controller.

40
00:02:52,270 --> 00:02:56,110
‫E poi usiamo i due punti per ciò che andremo a coprire.

41
00:02:56,110 --> 00:03:02,830
‫Sarà questa gamma T attiva e che possiamo mettere i nostri vestiti tra parentesi e parentesi graffe.

42
00:03:03,280 --> 00:03:04,840
‫Allora cosa sta dicendo?

43
00:03:04,840 --> 00:03:11,890
‫Sta dicendo che faremo un ciclo completo su ogni controller nel mondo e sarà in

44
00:03:11,890 --> 00:03:14,140
‫questa variabile chiamata controller.

45
00:03:15,180 --> 00:03:17,650
‫E ora ci sono un paio di cose che potresti aver bisogno di sapere.

46
00:03:17,670 --> 00:03:21,720
‫Quindi una cosa è che possiamo interrogare un controller per sapere se è o meno il controller del giocatore

47
00:03:21,720 --> 00:03:22,500
‫senza dover lanciare.

48
00:03:22,500 --> 00:03:24,870
‫In realtà possiamo semplicemente fare la freccia del controller.

49
00:03:24,870 --> 00:03:28,590
‫E poi penso che avrò effettivamente bisogno di includere il mio controller qui.

50
00:03:28,590 --> 00:03:36,330
‫Quindi un hash include nella parte superiore, faremo un controller di barra in avanti H del framework di gioco e ora

51
00:03:36,330 --> 00:03:38,190
‫tutto da completare probabilmente funzionerà.

52
00:03:38,370 --> 00:03:38,950
‫Sì, è così.

53
00:03:38,970 --> 00:03:41,730
‫Quindi quello che possiamo fare è ovviamente dire che il gioco è finito.

54
00:03:41,730 --> 00:03:43,410
‫Questo è il mio primo completamento automatico qui.

55
00:03:43,710 --> 00:03:46,290
‫Ma possiamo anche dire che è il controller del giocatore.

56
00:03:46,590 --> 00:03:50,340
‫Fondamentalmente dirà questa cosa al mondo per giocare a un controller?

57
00:03:50,820 --> 00:03:58,170
‫E questo ci permetterà di decidere se passare o meno in vero o falso a gioco finito.

58
00:03:58,500 --> 00:04:04,830
‫Quindi la mia sfida per te è compilare questo ciclo for chiamando che il gioco è terminato con il parametro

59
00:04:04,830 --> 00:04:05,640
‫booleano corretto.

60
00:04:06,330 --> 00:04:12,540
‫Quindi lo faremo in modo che fondamentalmente dovrebbe essere vero se il controller con cui stiamo parlando con il

61
00:04:12,540 --> 00:04:18,930
‫controller attualmente nel ciclo for è un controller del giocatore e il loro booleano che abbiamo passato dice che il

62
00:04:18,930 --> 00:04:26,040
‫controller del giocatore è il vincitore dovrebbe anche essere vero se non è un controller di gioco e non il giocatore, il

63
00:04:26,040 --> 00:04:32,940
‫giocatore è il vincitore sostanzialmente dicendo se questo è un alleato e il ragazzo è il vincitore falso se il controller

64
00:04:32,940 --> 00:04:39,810
‫del giocatore ma il giocatore non è il vincitore e false se non il controller del giocatore, ma il giocatore è

65
00:04:39,810 --> 00:04:40,830
‫il vincitore.

66
00:04:40,830 --> 00:04:43,290
‫In un certo senso vedi dove sta andando, si spera.

67
00:04:43,710 --> 00:04:47,940
‫Quindi metti in pausa il video e prova a implementarlo in questo modo potresti usare le istruzioni if.

68
00:04:47,940 --> 00:04:53,580
‫Potresti usare qualche altra logica per permetterti di calcolare questo video di pausa booleano e provarci.

69
00:04:54,840 --> 00:04:55,340
‫Bene.

70
00:04:55,350 --> 00:04:55,890
‫Ben tornato.

71
00:04:55,900 --> 00:04:57,890
‫Quindi potresti farlo in diversi modi.

72
00:04:57,900 --> 00:05:05,220
‫Un modo potrebbe essere dire se l'ape è un giocatore, controllare un vincitore e quindi inseriremo qualcosa nella

73
00:05:05,220 --> 00:05:06,300
‫dichiarazione if.

74
00:05:06,690 --> 00:05:14,160
‫Potremmo fare un pull up qui per decidere che fondamentalmente B è il controller del giocatore.

75
00:05:15,210 --> 00:05:18,750
‫Che salveremo dal fatto che facciamo un controller.

76
00:05:19,810 --> 00:05:23,470
‫Arrow il controller sta giocando in questo modo.

77
00:05:24,220 --> 00:05:28,120
‫E poi potremmo dire, ok, beh, vogliamo chiamare il controller.

78
00:05:28,390 --> 00:05:30,790
‫Il gioco delle frecce è terminato.

79
00:05:31,150 --> 00:05:33,070
‫Passeremo nei punti nulli per ora.

80
00:05:33,370 --> 00:05:40,600
‫E poi diremo, beh, se è un giocatore che è il vincitore e noi siamo un controller del giocatore, allora

81
00:05:40,600 --> 00:05:43,250
‫sì, fondamentalmente vai con quel valore.

82
00:05:43,270 --> 00:05:44,920
‫Quindi gioca con un controller.

83
00:05:44,950 --> 00:05:47,830
‫Altrimenti, se non è il controller del giocatore, sarà perso.

84
00:05:48,250 --> 00:05:50,600
‫E possiamo semplicemente negare questo in modo da poterlo dire.

85
00:05:50,620 --> 00:05:58,750
‫Altrimenti chiameremo il gioco del controller è terminato con non è il controller del giocatore fondamentalmente perché stiamo dicendo che

86
00:05:58,750 --> 00:06:04,630
‫il giocatore non è il vincitore, l'aria è il vincitore in questa affermazione.

87
00:06:05,020 --> 00:06:11,650
‫E quindi quello che vogliamo fare è dire che dipende dal fatto che vedono il contrario se il giocatore ha vinto,

88
00:06:11,650 --> 00:06:14,110
‫vale a dire che l'aria ha vinto.

89
00:06:14,800 --> 00:06:17,140
‫Quindi questo è un modo per farlo di sicuro.

90
00:06:17,500 --> 00:06:22,900
‫Ma c'è un altro modo più semplice, che è semplicemente dire: siamo noi i vincitori?

91
00:06:22,960 --> 00:06:25,750
‫Quindi essere è vincitore.

92
00:06:26,590 --> 00:06:36,520
‫E questo può semplicemente dire che se sei il controller del giocatore è uguale a B è il vincitore del giocatore.

93
00:06:37,030 --> 00:06:39,460
‫Ora, pensiamoci un po' di più.

94
00:06:39,730 --> 00:06:42,960
‫E lo completerò completamente e poi ne parleremo.

95
00:06:42,970 --> 00:06:51,910
‫Quindi diremo che il gioco del cappello del controller è terminato sarà il puntatore nullo con la B è il vincitore passato

96
00:06:52,000 --> 00:06:52,840
‫qui.

97
00:06:54,040 --> 00:06:56,350
‫Ora, perché questa affermazione funziona?

98
00:06:56,680 --> 00:06:58,090
‫Bene, pensiamo ai casi.

99
00:06:58,090 --> 00:06:58,390
‫Giusto.

100
00:06:58,750 --> 00:07:04,210
‫Quindi abbiamo un controller del giocatore qui e il giocatore è il vincitore allora?

101
00:07:04,210 --> 00:07:05,680
‫Sì, noi siamo il vincitore.

102
00:07:05,890 --> 00:07:06,670
‫E sono uguali.

103
00:07:06,700 --> 00:07:07,480
‫Vero e vero.

104
00:07:08,350 --> 00:07:13,330
‫Che ne dici se questo non è il controller del giocatore e il giocatore non è il vincitore?

105
00:07:13,810 --> 00:07:15,070
‫Bene, allora questo è falso.

106
00:07:15,400 --> 00:07:17,380
‫E anche questo qui è falso.

107
00:07:17,500 --> 00:07:21,520
‫In modo che i due siano uguali e il risultato sia un vincitore.

108
00:07:21,550 --> 00:07:22,060
‫È vero?

109
00:07:22,090 --> 00:07:22,360
‫Sì.

110
00:07:22,360 --> 00:07:27,130
‫Perché se siamo l'io e l'io come vincitori, allora dovremmo essere i vincitori.

111
00:07:27,880 --> 00:07:33,340
‫Altrimenti, se questi due non sono uguali, i. e. che abbiamo un controller aereo ma il

112
00:07:33,340 --> 00:07:39,130
‫giocatore è il vincitore, o abbiamo il controller del giocatore e l'aria è il vincitore, quindi avremo un vero e un falso

113
00:07:39,130 --> 00:07:40,750
‫o un falso e vero.

114
00:07:41,260 --> 00:07:45,040
‫Questi due non saranno uguali e il booleano valuterà false.

115
00:07:45,400 --> 00:07:50,950
‫Quindi puoi vedere che in ciascuno dei casi e ho esaminato tutti i casi lì, questo finisce con la

116
00:07:50,950 --> 00:07:51,670
‫risposta giusta.

117
00:07:51,670 --> 00:07:53,410
‫Quindi sappiamo che questo è il giusto.

118
00:07:53,410 --> 00:07:58,270
‫E quindi questo è il bello dei booleani è che di solito puoi valutare tutti i casi perché puoi

119
00:07:58,270 --> 00:08:00,370
‫dire, ok, bene, quali sono i casi?

120
00:08:00,370 --> 00:08:01,840
‫Sarà vero e vero.

121
00:08:01,840 --> 00:08:02,950
‫Sarà vero e falso.

122
00:08:02,950 --> 00:08:03,940
‫Sarà falso e vero.

123
00:08:03,940 --> 00:08:05,020
‫Sarà falso e falso.

124
00:08:05,440 --> 00:08:06,910
‫Puoi valutare tutti quei casi.

125
00:08:06,910 --> 00:08:12,370
‫Se tutti questi casi sono corretti, allora sai di avere un'affermazione booleana corretta.

126
00:08:13,120 --> 00:08:13,360
‫Freddo.

127
00:08:13,690 --> 00:08:18,400
‫Quindi è così che calcoleremo la B quando finalmente dovremo solo chiamare la nostra modalità di fine gioco.

128
00:08:18,400 --> 00:08:24,220
‫Al momento stiamo facendo una chiamata diretta al controller di gioco, il gioco è terminato e quello

129
00:08:24,220 --> 00:08:31,540
‫che voglio fare qui è andare avanti e chiamare la fine del gioco e vogliamo passare false perché questa è una situazione

130
00:08:31,540 --> 00:08:36,550
‫in cui il giocatore ha effettivamente perso ed è fondamentalmente ciò che vogliamo ottenere.

131
00:08:36,580 --> 00:08:42,280
‫Ora, un'altra cosa da notare qui è che questi punti nulli che abbiamo

132
00:08:42,340 --> 00:08:50,500
‫superato ci porteranno a problemi lungo la strada, perché se il giocatore ha effettivamente vinto, cercherà di distogliere l'attenzione

133
00:08:50,500 --> 00:08:52,720
‫dal nostro giocatore piscina.

134
00:08:52,720 --> 00:09:01,030
‫E quindi quello che vogliamo passare qui è semplicemente che l'attenzione dovrebbe essere sul controller dot get --.

135
00:09:01,750 --> 00:09:08,860
‫E questo sta fondamentalmente dicendo che dovresti mettere a fuoco il tuo controller del lettore, sia fondamentalmente dove dovrebbe

136
00:09:08,860 --> 00:09:10,420
‫puntare la tua fotocamera?

137
00:09:10,690 --> 00:09:12,340
‫Dovrebbe essere ancora puntato sul tuo pedone.

138
00:09:12,970 --> 00:09:14,560
‫Perché è importante che lo facciamo?

139
00:09:14,860 --> 00:09:17,140
‫E perché c'è questa opzione qui in primo luogo?

140
00:09:17,140 --> 00:09:23,830
‫Bene, in molti giochi, tu spesso o in molti giochi in stile match, potresti avere che se il

141
00:09:23,830 --> 00:09:27,370
‫gioco è finito, vuoi andare e seguire il pedone.

142
00:09:27,370 --> 00:09:28,240
‫Quello è stato il vincitore.

143
00:09:28,240 --> 00:09:34,070
‫Quindi immagina come uno scenario di Fortnite, vai spesso e segui la persona che ti ha ucciso.

144
00:09:34,450 --> 00:09:36,370
‫Questo è il meccanismo per farlo.

145
00:09:36,370 --> 00:09:40,220
‫In pratica passi nel pedone della persona che ha ucciso.

146
00:09:40,570 --> 00:09:41,770
‫Questo è ciò che stiamo facendo nel nostro gioco.

147
00:09:41,770 --> 00:09:45,340
‫Continueremo a guardare Apple e se vinciamo o moriamo.

148
00:09:45,430 --> 00:09:46,930
‫Quindi è più o meno tutto per la lezione.

149
00:09:46,930 --> 00:09:50,040
‫Compiliamo e vediamo se funziona.

150
00:09:50,050 --> 00:09:53,230
‫Immergiamoci nell'Unreal e premiamo play.

151
00:09:53,440 --> 00:09:55,930
‫Andiamo a farci ammazzare.

152
00:09:56,080 --> 00:09:56,770
‫Ecco qua.

153
00:09:57,040 --> 00:09:58,720
‫Tutto funziona come prima.

154
00:09:58,720 --> 00:10:03,100
‫Stiamo ancora ricevendo quella chiamata al controller del giocatore e quindi riavviamo.

155
00:10:03,160 --> 00:10:03,730
‫Roba fantastica.

156
00:10:03,730 --> 00:10:06,400
‫Quindi in questa lezione, tanto per ricapitolare, cosa abbiamo visto?

157
00:10:06,400 --> 00:10:14,200
‫Bene, abbiamo visto come possiamo scorrere gli attori nel livello per fare qualcosa come chiamare una funzione

158
00:10:14,200 --> 00:10:16,750
‫su ciascuno di quegli attori.

159
00:10:16,930 --> 00:10:23,050
‫La prossima lezione useremo di nuovo la gamma di attori T, questa volta per calcolare se il giocatore ne ha

160
00:10:23,050 --> 00:10:23,410
‫uno.

161
00:10:23,710 --> 00:10:24,220
‫Ci vediamo.

