﻿1
00:00:04,420 --> 00:00:05,380
‫Hola y bienvenido.

2
00:00:05,380 --> 00:00:09,940
‫En esta lección, presentaremos esta pieza de código aquí, el rango del actor

3
00:00:09,940 --> 00:00:14,830
‫T, y veremos cómo nos permite iterar sobre todos los actores en un nivel dado.

4
00:00:14,980 --> 00:00:16,540
‫Vamos a sumergirnos y ver cómo funciona.

5
00:00:17,500 --> 00:00:25,240
‫Entonces, en el momento en que el modo de juego KML mató al peón, llamamos que el juego ha terminado en el controlador del jugador, pero en realidad

6
00:00:25,900 --> 00:00:32,110
‫el juego ha terminado es una función en todos los controladores, ya sea un controlador I o un controlador de jugador.

7
00:00:32,110 --> 00:00:38,950
‫Y probablemente también deberíamos notificar a los controladores aéreos que el juego ha terminado y ese será ciertamente el caso

8
00:00:38,950 --> 00:00:43,690
‫o también hará que sea más fácil hacer una condición ganadora porque no

9
00:00:43,690 --> 00:00:46,000
‫necesariamente tendremos al jugador, viniendo aquí

10
00:00:46,960 --> 00:00:49,900
‫Entonces, ¿cómo seguimos adelante y hacemos esto?

11
00:00:50,200 --> 00:00:55,840
‫Bueno, voy a crear una nueva función en el modo de juego matarlos a todos, una

12
00:00:55,840 --> 00:00:59,500
‫privada llamada End Game, que será responsable de este acto.

13
00:00:59,500 --> 00:01:02,680
‫Así que termina el juego y necesitará algo de información.

14
00:01:02,680 --> 00:01:04,720
‫Va a necesitar saber quién ha ganado.

15
00:01:04,720 --> 00:01:05,620
‫¿Ha sido el jugador?

16
00:01:05,670 --> 00:01:06,700
‫¿Ha sido la A? YO.?

17
00:01:06,730 --> 00:01:11,500
‫Así que voy a crear un grupo aquí llamado B es el jugador ganador.

18
00:01:12,280 --> 00:01:18,940
‫Y eso va a ser lo que nos diga si deberíamos o no decirle al tipo que ganó o decirle al

19
00:01:18,940 --> 00:01:19,900
‫jugador que ganó.

20
00:01:19,900 --> 00:01:22,600
‫Porque recuerda aquí nuestro juego ha terminado.

21
00:01:22,600 --> 00:01:26,440
‫Toma booleana diciéndole al controlador si es o no uno de los ganadores.

22
00:01:27,550 --> 00:01:31,900
‫Entonces, lo que vamos a tener que hacer es averiguar, en primer lugar, sigamos adelante y creemos la implementación.

23
00:01:31,900 --> 00:01:35,170
‫Así que voy a hacer mi cambio de control P y luego crearé la implementación.

24
00:01:36,010 --> 00:01:41,620
‫Y luego vamos a tener que descubrir cómo podemos encontrar todos los controladores en nuestra escena para

25
00:01:41,620 --> 00:01:45,280
‫que podamos decir que el juego ha terminado en esos controladores.

26
00:01:46,510 --> 00:01:51,850
‫Ahora, la forma en que vamos a hacer esto es usando una llamada de ayuda del motor.

27
00:01:51,850 --> 00:01:59,110
‫Así que olvídese de incluir el hash, vamos a usar las utilidades del motor dot h en primer lugar, eso

28
00:01:59,110 --> 00:02:07,630
‫traerá al alcance el ayudante que quiero y el ayudante se llama T actor range y T actor range es una cosa de

29
00:02:07,630 --> 00:02:08,230
‫plantilla.

30
00:02:08,230 --> 00:02:11,290
‫Así que podemos hacer los paréntesis angulares aquí.

31
00:02:11,740 --> 00:02:18,700
‫Luego podemos poner un controlador y luego los paréntesis y obtener el mundo.

32
00:02:18,790 --> 00:02:19,960
‫Ahora, ¿qué va a hacer esto?

33
00:02:19,990 --> 00:02:27,460
‫Volverá como un objeto de rango, que es básicamente una especie de lista que abarca todos

34
00:02:27,460 --> 00:02:28,540
‫los controladores.

35
00:02:28,930 --> 00:02:35,740
‫Es por eso que tenemos ese parámetro de controlador ahí en el mundo a. k. a el nivel, y podemos usar esto

36
00:02:35,740 --> 00:02:37,150
‫en un bucle completo.

37
00:02:37,240 --> 00:02:44,050
‫Entonces, permítanme comenzar a envolver esto en un bucle para que podamos hacer un for sobre el controlador A.

38
00:02:44,110 --> 00:02:49,210
‫Así que esa cosa que es la variable que vamos a organizar será un puntero de

39
00:02:49,210 --> 00:02:50,950
‫controlador, al que llamaré controlador.

40
00:02:52,270 --> 00:02:56,110
‫Y luego usamos los dos puntos para lo que vamos a abarcar.

41
00:02:56,110 --> 00:03:02,830
‫Va a ser esta T gama activa y que podemos poner nuestra ropa entre paréntesis y corchetes.

42
00:03:03,280 --> 00:03:04,840
‫Entonces, ¿qué es este dicho?

43
00:03:04,840 --> 00:03:11,890
‫Está diciendo que vamos a hacer un ciclo completo sobre cada controlador en el mundo y estará

44
00:03:11,890 --> 00:03:14,140
‫en esta variable llamada controlador.

45
00:03:15,180 --> 00:03:17,650
‫Y ahora hay un par de cosas que tal vez necesites saber.

46
00:03:17,670 --> 00:03:21,720
‫Entonces, una cosa es que podemos consultar un controlador para saber si es o no el controlador del jugador sin

47
00:03:21,720 --> 00:03:22,500
‫tener que lanzar.

48
00:03:22,500 --> 00:03:24,870
‫De hecho, podemos simplemente hacer la flecha del controlador.

49
00:03:24,870 --> 00:03:28,590
‫Y luego creo que realmente necesitaré incluir mi controlador aquí.

50
00:03:28,590 --> 00:03:36,330
‫Entonces, un hash incluye en la parte superior, vamos a hacer un marco de juego con el controlador de barra inclinada hacia adelante H y

51
00:03:36,330 --> 00:03:38,190
‫ahora todo para completar probablemente funcionará.

52
00:03:38,370 --> 00:03:38,950
‫Sí lo tiene.

53
00:03:38,970 --> 00:03:41,730
‫Entonces, lo que podemos hacer es obviamente decir que el juego ha terminado.

54
00:03:41,730 --> 00:03:43,410
‫Ese es mi primer autocompletar aquí.

55
00:03:43,710 --> 00:03:46,290
‫Pero también podemos decir que es el controlador del reproductor.

56
00:03:46,590 --> 00:03:50,340
‫¿Básicamente va a decir que esta cosa en el mundo es para jugar un controlador?

57
00:03:50,820 --> 00:03:58,170
‫Y eso nos permitirá decidir si debemos dar o no como verdadero o falso que el juego ha terminado.

58
00:03:58,500 --> 00:04:04,830
‫Entonces, mi desafío para usted es completar este ciclo for diciendo que el juego ha terminado con el parámetro

59
00:04:04,830 --> 00:04:05,640
‫booleano correcto.

60
00:04:06,330 --> 00:04:12,540
‫Entonces, vamos a hacer esto para que, básicamente, sea cierto si el controlador con el que estamos hablando actualmente

61
00:04:12,540 --> 00:04:18,930
‫en el bucle for es un controlador de jugador y el booleano que hemos pasado dice que el controlador

62
00:04:18,930 --> 00:04:26,040
‫de jugador es el ganador también debe ser verdadero si no es un controlador de juego y no el jugador, el jugador

63
00:04:26,040 --> 00:04:32,940
‫es el ganador básicamente dice si este es un aliado y el tipo es el ganador falso si el controlador del

64
00:04:32,940 --> 00:04:39,810
‫jugador pero el jugador no es el ganador y falso si no es el controlador del jugador, pero el jugador es

65
00:04:39,810 --> 00:04:40,830
‫el ganador.

66
00:04:40,830 --> 00:04:43,290
‫Uno ve a dónde va esto, con suerte.

67
00:04:43,710 --> 00:04:47,940
‫Así que pause el video e intente implementarlo de esta manera, podría usar declaraciones if.

68
00:04:47,940 --> 00:04:53,580
‫Puede usar alguna otra lógica que le permita calcular este video de pausa booleano y probar.

69
00:04:54,840 --> 00:04:55,340
‫Bueno.

70
00:04:55,350 --> 00:04:55,890
‫Bienvenido de nuevo.

71
00:04:55,900 --> 00:04:57,890
‫Así que podrías hacer esto de varias maneras.

72
00:04:57,900 --> 00:05:05,220
‫Una forma podría ser decir si la abeja es un jugador, controlar un ganador y luego vamos a poner algo en

73
00:05:05,220 --> 00:05:06,300
‫la declaración if.

74
00:05:06,690 --> 00:05:14,160
‫Podríamos hacer un pull up aquí para decidir que básicamente B es el controlador del jugador.

75
00:05:15,210 --> 00:05:18,750
‫Que vamos a salvar del hecho de que hacemos un controlador.

76
00:05:19,810 --> 00:05:23,470
‫Flecha, el controlador está jugando así.

77
00:05:24,220 --> 00:05:28,120
‫Y luego podríamos decir, está bien, bueno, queremos llamar al controlador.

78
00:05:28,390 --> 00:05:30,790
‫El juego de flechas ha terminado.

79
00:05:31,150 --> 00:05:33,070
‫Vamos a pasar los puntos nulos por ahora.

80
00:05:33,370 --> 00:05:40,600
‫Y luego vamos a decir, bueno, si es un jugador el que gana y nosotros somos un controlador de jugador,

81
00:05:40,600 --> 00:05:43,250
‫entonces sí, básicamente vamos con ese valor.

82
00:05:43,270 --> 00:05:44,920
‫Así que juega un controlador.

83
00:05:44,950 --> 00:05:47,830
‫De lo contrario, si no es el controlador del reproductor, se habrá perdido.

84
00:05:48,250 --> 00:05:50,600
‫Y podemos simplemente negar esto para que podamos decir.

85
00:05:50,620 --> 00:05:58,750
‫De lo contrario, vamos a llamar al juego del controlador que no es el controlador del jugador básicamente porque estamos diciendo

86
00:05:58,750 --> 00:06:04,630
‫que el jugador no es el ganador, el aire es el ganador en esta declaración.

87
00:06:05,020 --> 00:06:11,650
‫Y entonces lo que queremos hacer es decir que depende de si ven lo contrario de si el jugador ha ganado,

88
00:06:11,650 --> 00:06:14,110
‫es decir que ha ganado el aire.

89
00:06:14,800 --> 00:06:17,140
‫Así que esa es una forma de hacerlo con seguridad.

90
00:06:17,500 --> 00:06:22,900
‫Pero hay otra forma más sencilla, que es simplemente decir, ¿somos los ganadores?

91
00:06:22,960 --> 00:06:25,750
‫Así que ser es ganador.

92
00:06:26,590 --> 00:06:36,520
‫Y esto puede ser simplemente para decir que si usted es el controlador del jugador es igual a B es el jugador ganador.

93
00:06:37,030 --> 00:06:39,460
‫Ahora, pensemos un poco más en esto.

94
00:06:39,730 --> 00:06:42,960
‫Y terminaré esto completamente y luego hablaremos de ello.

95
00:06:42,970 --> 00:06:51,910
‫Así que vamos a decir que el juego del sombrero del controlador ha terminado será el puntero nulo con la B es el ganador

96
00:06:52,000 --> 00:06:52,840
‫pasado aquí.

97
00:06:54,040 --> 00:06:56,350
‫Ahora, ¿por qué funciona esta afirmación?

98
00:06:56,680 --> 00:06:58,090
‫Bueno, pensemos en los casos.

99
00:06:58,090 --> 00:06:58,390
‫Derecha.

100
00:06:58,750 --> 00:07:04,210
‫Entonces, ¿tenemos un controlador de jugador aquí y el jugador es el ganador?

101
00:07:04,210 --> 00:07:05,680
‫Sí, somos el ganador.

102
00:07:05,890 --> 00:07:06,670
‫Y son iguales.

103
00:07:06,700 --> 00:07:07,480
‫Verdadero y verdadero

104
00:07:08,350 --> 00:07:13,330
‫¿Qué tal si este no es el controlador del jugador y el jugador no es el ganador?

105
00:07:13,810 --> 00:07:15,070
‫Bueno, entonces esto es falso.

106
00:07:15,400 --> 00:07:17,380
‫Y esto de aquí también es falso.

107
00:07:17,500 --> 00:07:21,520
‫Para que los dos sean iguales y el resultado sea ganador.

108
00:07:21,550 --> 00:07:22,060
‫¿Es eso cierto?

109
00:07:22,090 --> 00:07:22,360
‫Sí.

110
00:07:22,360 --> 00:07:27,130
‫Porque si somos el yo y el yo como ganador, entonces deberíamos ser los ganadores.

111
00:07:27,880 --> 00:07:33,340
‫De lo contrario, si estos dos no son iguales, i. mi. que tenemos un controlador de aire pero

112
00:07:33,340 --> 00:07:39,130
‫el jugador es el ganador, o tenemos el controlador de jugador y el aire es el ganador, entonces vamos a tener un verdadero y

113
00:07:39,130 --> 00:07:40,750
‫falso o un falso y verdadero.

114
00:07:41,260 --> 00:07:45,040
‫Estos dos no van a ser iguales y el valor booleano se evaluará como falso.

115
00:07:45,400 --> 00:07:50,950
‫Así que pueden ver que en cada uno de los casos y he revisado todos los casos allí, esto termina con la

116
00:07:50,950 --> 00:07:51,670
‫respuesta correcta.

117
00:07:51,670 --> 00:07:53,410
‫Entonces sabemos que este es el derecho.

118
00:07:53,410 --> 00:07:58,270
‫Y esto es lo mejor de los valores booleanos: por lo general, puedes evaluar todos los casos porque

119
00:07:58,270 --> 00:08:00,370
‫puedes decir, bueno, ¿cuáles son los casos?

120
00:08:00,370 --> 00:08:01,840
‫Va a ser verdad y verdad.

121
00:08:01,840 --> 00:08:02,950
‫Va a ser verdadero y falso.

122
00:08:02,950 --> 00:08:03,940
‫Va a ser falso y verdadero.

123
00:08:03,940 --> 00:08:05,020
‫Va a ser falso y falso.

124
00:08:05,440 --> 00:08:06,910
‫Puedes evaluar todos esos casos.

125
00:08:06,910 --> 00:08:12,370
‫Si todos esos casos son correctos, entonces sabrá que tiene una declaración booleana correcta.

126
00:08:13,120 --> 00:08:13,360
‫Frio.

127
00:08:13,690 --> 00:08:18,400
‫Así es como vamos a calcular la B cuando finalmente solo necesitamos llamar a nuestro modo de juego final.

128
00:08:18,400 --> 00:08:24,220
‫En este momento estamos haciendo una llamada directa al controlador de juego. El juego ha terminado y lo que

129
00:08:24,220 --> 00:08:31,540
‫realmente quiero hacer aquí es seguir adelante y llamar al final del juego y queremos pasar en falso porque esta es una situación en

130
00:08:31,540 --> 00:08:36,550
‫la que el jugador realmente ha perdido. y eso es básicamente lo que queremos lograr.

131
00:08:36,580 --> 00:08:42,280
‫Ahora, una cosa más a tener en cuenta aquí es que estos puntos nulos

132
00:08:42,340 --> 00:08:50,500
‫que hemos estado pasando nos llevarán a problemas en el futuro, porque si el jugador realmente ha ganado, intentará quitarle el

133
00:08:50,500 --> 00:08:52,720
‫foco a nuestro jugador. piscina.

134
00:08:52,720 --> 00:09:01,030
‫Entonces, lo que queremos transmitir aquí es simplemente que el enfoque debe estar en el punto del controlador.

135
00:09:01,750 --> 00:09:08,860
‫Y eso básicamente significa que debes poner el foco en tu propio controlador de jugador, ya sea básicamente ¿hacia dónde

136
00:09:08,860 --> 00:09:10,420
‫debería apuntar tu cámara?

137
00:09:10,690 --> 00:09:12,340
‫Todavía debería estar apuntando a tu peón.

138
00:09:12,970 --> 00:09:14,560
‫¿Por qué es importante que hagamos esto?

139
00:09:14,860 --> 00:09:17,140
‫¿Y por qué existe esta opción aquí en primer lugar?

140
00:09:17,140 --> 00:09:23,830
‫Bueno, en muchos juegos, a menudo o en muchos juegos de estilo de partido, es posible que si el

141
00:09:23,830 --> 00:09:27,370
‫juego ha terminado, quieras ir y seguir al peón.

142
00:09:27,370 --> 00:09:28,240
‫Ese fue el ganador.

143
00:09:28,240 --> 00:09:34,070
‫Así que imagina un escenario de Fortnite, a menudo vas y sigues a la persona que te mató.

144
00:09:34,450 --> 00:09:36,370
‫Este es el mecanismo para hacer esto.

145
00:09:36,370 --> 00:09:40,220
‫Básicamente pasas al peón de la persona que cometió el asesinato.

146
00:09:40,570 --> 00:09:41,770
‫Eso es lo que estamos haciendo en nuestro juego.

147
00:09:41,770 --> 00:09:45,340
‫Vamos a seguir mirando a Apple y si ganamos o morimos.

148
00:09:45,430 --> 00:09:46,930
‫Así que eso es todo por la conferencia.

149
00:09:46,930 --> 00:09:50,040
‫Vamos a compilar y ver si está funcionando.

150
00:09:50,050 --> 00:09:53,230
‫Sumerjámonos en Unreal y presionemos reproducir.

151
00:09:53,440 --> 00:09:55,930
‫Vamos a que nos maten.

152
00:09:56,080 --> 00:09:56,770
‫Ahí tienes

153
00:09:57,040 --> 00:09:58,720
‫Todo funciona como antes.

154
00:09:58,720 --> 00:10:03,100
‫Todavía estamos recibiendo esa llamada en el controlador del reproductor y luego reiniciamos.

155
00:10:03,160 --> 00:10:03,730
‫Buena cosa.

156
00:10:03,730 --> 00:10:06,400
‫Entonces, en esta conferencia, solo para recapitular, ¿qué hemos visto?

157
00:10:06,400 --> 00:10:14,200
‫Bueno, hemos visto cómo podemos iterar sobre los actores en el nivel para hacer algo como llamar a una función

158
00:10:14,200 --> 00:10:16,750
‫en cada uno de esos actores.

159
00:10:16,930 --> 00:10:23,050
‫En la próxima clase, volveremos a utilizar el rango del actor T, esta vez para calcular si el jugador tiene

160
00:10:23,050 --> 00:10:23,410
‫uno.

161
00:10:23,710 --> 00:10:24,220
‫Nos vemos eso.

