1
00:00:00,000 --> 00:00:06,390
Bienvenidos de nuevo mis compañeros desarrolladores de juegos a un nuevo video extremadamente largo. 

2
00:00:06,390 --> 00:00:08,250
Sé que estás harta de eso. 

3
00:00:08,250 --> 00:00:13,940
Pero como siempre, vale la pena extremadamente porque aprendemos tanto. 

4
00:00:13,935 --> 00:00:16,385
En primer lugar, creamos un enemigo. 

5
00:00:16,380 --> 00:00:18,090
Le agregamos un rango. 

6
00:00:18,090 --> 00:00:20,490
Agregamos una forma de dibujar ese rango. 

7
00:00:20,490 --> 00:00:24,280
Y también ejecutamos el juego. Podemos disparar al enemigo. 

8
00:00:24,275 --> 00:00:25,985
Obviamente no muere por ahora,

9
00:00:25,985 --> 00:00:28,135
pero podemos meternos en el rango. 

10
00:00:28,130 --> 00:00:31,060
Se puede ver aquí mismo el jugador está en rango Chase. 

11
00:00:31,055 --> 00:00:33,205
Se está enviando cada vez. 

12
00:00:33,200 --> 00:00:35,860
Si salimos de esta pequeña burbuja, ahí tienes,

13
00:00:35,855 --> 00:00:38,935
ya ves que el jugador está fuera de alcance. 

14
00:00:38,930 --> 00:00:40,900
Entonces, no perdamos más tiempo. 

15
00:00:40,895 --> 00:00:44,905
Y empecemos con este largo video. 

16
00:00:44,900 --> 00:00:50,450
Ah, así que es hora de algunos enemigos. 

17
00:00:50,450 --> 00:00:51,970
Empecemos. 

18
00:00:51,965 --> 00:00:54,775
Lo primero que vamos a hacer es que vamos a hacer

19
00:00:54,770 --> 00:00:57,800
clic derecho
para crear un objeto de juego vacío. 

20
00:00:57,800 --> 00:01:00,950
Asegúrese de que se restablezca su posición. 

21
00:01:00,950 --> 00:01:03,370
Y la rotación y escala y etcétera. 

22
00:01:03,365 --> 00:01:10,375
Y lo llamaremos enemigo por ahora hasta que decidamos qué enemigo va a querer usar. 

23
00:01:10,370 --> 00:01:13,700
Lo siguiente que tendremos que hacer es que vamos a tener que ir a los sprites. 

24
00:01:13,699 --> 00:01:19,119
Vamos a hacer clic derecho para crear una carpeta aquí para los enemigos. 

25
00:01:19,115 --> 00:01:23,125
Y dentro de los enemigos entrarán a los recursos y

26
00:01:23,120 --> 00:01:27,290
vamos a arrastrar en el monstruo y las criaturas. 

27
00:01:27,290 --> 00:01:29,660
Y vamos a ponerlo aquí. 

28
00:01:29,660 --> 00:01:33,170
Por lo que esperaremos a que todo importe. Abriremos esto. 

29
00:01:33,170 --> 00:01:35,780
Y como pueden ver, tenemos cuatro tipos de enemigos

30
00:01:35,780 --> 00:01:38,590
que he descargado de artes de juego abierto. 

31
00:01:38,585 --> 00:01:40,225
Por supuesto, como siempre,

32
00:01:40,220 --> 00:01:42,560
puedes ir a buscar a tus propios enemigos. 

33
00:01:42,560 --> 00:01:47,470
Estos son los que he usado y estarán en el enlace, en los recursos. 

34
00:01:47,465 --> 00:01:49,225
¿ Y qué debo elegir? 

35
00:01:49,220 --> 00:01:51,580
Creo que voy a elegir cuatro ahora,

36
00:01:51,575 --> 00:01:54,875
el, veamos cuál. 

37
00:01:54,874 --> 00:01:57,144
Realmente no he pensado en esto. 

38
00:01:57,140 --> 00:01:58,420
Los enemigos. 

39
00:01:58,415 --> 00:02:01,375
Sólo elijamos el esqueleto y seamos muy genéricos. 

40
00:02:01,370 --> 00:02:05,740
Entonces como pueden ver, tenemos ataque tres muerte ya sea etcétera, etcétera. 

41
00:02:05,735 --> 00:02:09,055
Entonces sólo voy a entrar en el ocioso. 

42
00:02:09,050 --> 00:02:13,390
Voy a hacer que se aplique múltiple Sprite Editor. 

43
00:02:13,385 --> 00:02:15,955
Y vamos a seguir adelante y rebanarlo,

44
00:02:15,950 --> 00:02:18,590
no automáticamente, sino por un tamaño de cuadrícula. 

45
00:02:18,590 --> 00:02:22,610
Y si estabas un poco confundido por lo que hice la última vez,

46
00:02:22,610 --> 00:02:26,990
solo reviso la longitud de todo el sprite. 

47
00:02:26,990 --> 00:02:31,310
Entonces son 600 y lo divido por cuantos esqueletos tenemos. 

48
00:02:31,310 --> 00:02:34,700
Entonces tenemos cuatro o una sola fila,

49
00:02:34,700 --> 00:02:37,060
tan divididos por cuatro. 

50
00:02:37,055 --> 00:02:41,215
Eso significa que es 150 por 150, como siempre. 

51
00:02:41,210 --> 00:02:43,190
Por alguna razón, me sorprende. 

52
00:02:43,190 --> 00:02:46,570
Entonces entramos en el empalme, rebanamos. 

53
00:02:46,565 --> 00:02:50,905
Empalme, piensa que eso es empalme de película, claro, rebanada. 

54
00:02:50,900 --> 00:02:52,620
Ahí vamos. Aplicar. 

55
00:02:52,624 --> 00:02:55,894
Ahora tenemos nuestros pequeños esqueletos aquí mismo. 

56
00:02:55,895 --> 00:02:57,475
Voy a arrastrarlo. 

57
00:02:57,470 --> 00:02:59,440
Y la escena, whoa,

58
00:02:59,435 --> 00:03:01,835
eso es un esqueleto enorme, ¿no? 

59
00:03:01,835 --> 00:03:03,335
Eso es ironía. 

60
00:03:03,335 --> 00:03:04,645
Si no lo has recogido. 

61
00:03:04,640 --> 00:03:07,610
De todos modos, lo haremos 50. Ahí vamos. 

62
00:03:07,610 --> 00:03:13,420
Todavía no lo podemos ver porque necesitamos tener y aplicar. 

63
00:03:13,415 --> 00:03:21,875
Vamos a seguir adelante y crear una capa aquí dentro que será el enemigo o enemigos. 

64
00:03:21,875 --> 00:03:24,445
Y voy a poner las balas para renderizar frente

65
00:03:24,440 --> 00:03:27,820
al enemigo y también al jugador para renderizar una trama del enemigo. 

66
00:03:27,815 --> 00:03:30,655
Y sigamos adelante y pongamos al enemigo justo aquí. 

67
00:03:30,650 --> 00:03:31,760
Entonces ahí lo tienes. 

68
00:03:31,760 --> 00:03:34,300
Sigue siendo un enemigo muy pequeño. 

69
00:03:34,295 --> 00:03:36,775
Guardemos eso. Hagámoslo un poco más grande. 

70
00:03:36,770 --> 00:03:39,800
Entonces un inactivo 50, Hagámoslos 32. 

71
00:03:39,800 --> 00:03:41,260
Aplica eso. 

72
00:03:41,255 --> 00:03:43,135
A lo mejor aún más grande. 

73
00:03:43,130 --> 00:03:46,930
Hagámoslo 16. Por lo que 16. 

74
00:03:46,925 --> 00:03:47,785
Sí. Ahí vamos. 

75
00:03:47,780 --> 00:03:48,110
Está bien. 

76
00:03:48,110 --> 00:03:50,000
Eso es demasiado grande. 

77
00:03:50,000 --> 00:03:53,740
Cuando D tal vez 20. 

78
00:03:53,735 --> 00:03:56,345
Sí, creo que 20 es lo suficientemente bueno. 

79
00:03:56,345 --> 00:03:59,195
Eso ha cambiado estos dos puntos. A ver si eso ayuda. 

80
00:03:59,195 --> 00:04:01,555
Sí, ahí vamos. Se ve mucho mejor,

81
00:04:01,550 --> 00:04:02,720
aún un poco granulado,

82
00:04:02,720 --> 00:04:04,240
pero no se preocupe por eso. 

83
00:04:04,235 --> 00:04:06,235
Lo tenemos de forma gratuita. 

84
00:04:06,230 --> 00:04:07,760
De todos modos. 

85
00:04:07,760 --> 00:04:10,010
A ver, este es el cuerpo. 

86
00:04:10,010 --> 00:04:12,940
Este sería el cuerpo. 

87
00:04:12,935 --> 00:04:16,165
Y voy a pegarla al objeto de juego enemigo. 

88
00:04:16,160 --> 00:04:19,610
Entonces ahora tenemos al enemigo justo aquí y el cuerpo. 

89
00:04:19,610 --> 00:04:22,090
Vamos a ponerlo a 00. 

90
00:04:22,085 --> 00:04:23,755
El puesto es relativo,

91
00:04:23,750 --> 00:04:27,470
por
supuesto a los objetos del juego enemigo o ahora nos movemos por ahí

92
00:04:27,470 --> 00:04:31,580
usando al enemigo y se puede ver que se renderiza detrás del jugador,

93
00:04:31,580 --> 00:04:38,380
detrás del arma y también se debe renderizar detrás de las balas. Ve a la derecha. 

94
00:04:38,375 --> 00:04:39,845
Ahora que tenemos esto,

95
00:04:39,845 --> 00:04:42,205
lo
siguiente que tenemos que hacer es obviamente en

96
00:04:42,200 --> 00:04:46,750
algún comportamiento o una forma de controlar el comportamiento de nuestro enemigo. 

97
00:04:46,745 --> 00:04:51,005
Entonces vamos a entrar a los activos, a los guiones,

98
00:04:51,005 --> 00:04:52,735
vamos a hacer clic aquí dentro,

99
00:04:52,730 --> 00:04:55,490
crear una nueva carpeta tal vez,

100
00:04:55,490 --> 00:04:58,200
y llamémoslo los enemigos. 

101
00:04:58,204 --> 00:04:59,314
Entrar. 

102
00:04:59,315 --> 00:05:03,875
Quizás también cree uno aquí para el jugador,

103
00:05:03,875 --> 00:05:06,085
que será el controlador del jugador. 

104
00:05:06,080 --> 00:05:12,100
Y veamos, también crearemos uno para las balas y el tiempo ahora. 

105
00:05:12,095 --> 00:05:16,295
Por lo tanto, crea una nueva carpeta para las balas. 

106
00:05:16,295 --> 00:05:19,675
Y vamos a mover estos a la bala. 

107
00:05:19,670 --> 00:05:20,000
¿ Por qué? 

108
00:05:20,000 --> 00:05:21,470
Porque tenemos la bala,
el

109
00:05:21,470 --> 00:05:24,670
controlador de bala del jugador y el efecto de impacto. 

110
00:05:24,665 --> 00:05:28,255
Entonces y dentro de los enemigos hará clic con el botón derecho,

111
00:05:28,250 --> 00:05:30,080
creará un nuevo guión C Sharp,

112
00:05:30,080 --> 00:05:31,820
y lo llamaremos el

113
00:05:31,820 --> 00:05:36,460
controlador
And EMI golpeó Enter. 

114
00:05:36,455 --> 00:05:39,745
Espere a que esto se compile. Está bien, genial. 

115
00:05:39,740 --> 00:05:41,150
Y ahora en el enemigo,

116
00:05:41,150 --> 00:05:46,630
podemos seguir adelante y añadir un componente que es el controlador enemigo. 

117
00:05:46,625 --> 00:05:48,955
Y vamos a abrir el guión. 

118
00:05:48,950 --> 00:05:54,640
¿ De acuerdo? Entonces algo te habrías dado cuenta de que todas las pestañas se han ido. 

119
00:05:54,635 --> 00:05:56,425
Eso no es porque los cerré,

120
00:05:56,420 --> 00:05:59,210
Eso es porque hemos cambiado el directorio de ellos. 

121
00:05:59,210 --> 00:06:00,650
Entonces movimos, por ejemplo,

122
00:06:00,650 --> 00:06:06,260
el controlador del jugador de los scripts de carpeta a los scripts del jugador de carpetas. 

123
00:06:06,260 --> 00:06:07,400
Por eso no lo tenemos,

124
00:06:07,400 --> 00:06:08,590
pero no te preocupes, sigue siendo,

125
00:06:08,585 --> 00:06:11,585
si hacemos doble clic, podemos abrirla fácilmente. 

126
00:06:11,585 --> 00:06:12,805
Sigamos adelante. 

127
00:06:12,800 --> 00:06:16,780
¿ Qué necesitamos aquí dentro del controlador NMI? 

128
00:06:16,775 --> 00:06:18,565
Si bien necesitamos, en primer lugar,

129
00:06:18,560 --> 00:06:22,130
una variable que mantenga en jaque la velocidad de los enemigos. 

130
00:06:22,130 --> 00:06:27,140
Y necesitaremos una variable que representará a los enemigos cuerpo rígido. 

131
00:06:27,140 --> 00:06:30,050
Entonces voy a hacer justamente eso. 

132
00:06:30,050 --> 00:06:31,840
Estas son cosas muy sencillas. 

133
00:06:31,835 --> 00:06:34,085
No hace falta mucha explicación. 

134
00:06:34,085 --> 00:06:35,935
Este es un campo serializado,

135
00:06:35,930 --> 00:06:39,610
un flotador, y la velocidad enemiga. 

136
00:06:39,605 --> 00:06:45,395
Y otra variable que será un cuerpo rígido privado 2D. 

137
00:06:45,395 --> 00:06:46,955
Y acabo de recordar. 

138
00:06:46,954 --> 00:06:51,694
Y EMI, cuerpo rígido. 

139
00:06:51,695 --> 00:06:54,275
El cuerpo no necesita ser capital. 

140
00:06:54,275 --> 00:06:55,495
Guarda eso. 

141
00:06:55,490 --> 00:06:58,790
Y sólo recuerdo que nos olvidamos obviamente de
agregar

142
00:06:58,790 --> 00:07:02,540
un par de cosas al enemigo, que está aquí. 

143
00:07:02,540 --> 00:07:07,810
Vamos a añadir un componente el cual será un colisionador de cajas. 

144
00:07:07,805 --> 00:07:12,905
Y sigamos adelante y hagámoslo. 

145
00:07:12,905 --> 00:07:14,995
Entonces tal vez sin el escudo,

146
00:07:14,990 --> 00:07:20,860
por lo general es mejor mantener los colisionadores de caja un poco más pequeños que el cuerpo real. 

147
00:07:20,855 --> 00:07:25,795
Esto hará que el jugador de tu juego deseara ser más preciso. 

148
00:07:25,790 --> 00:07:27,610
Y también podemos sumar la sombra, por cierto,

149
00:07:27,605 --> 00:07:30,875
bajo el enemigo, lo cual es una idea bastante buena. 

150
00:07:30,875 --> 00:07:33,005
Voy a añadir otro componente,

151
00:07:33,005 --> 00:07:35,725
que será el cuerpo rígido 2D. 

152
00:07:35,720 --> 00:07:40,850
Obviamente vamos a hacer 0 la escala de gravedad. 

153
00:07:40,850 --> 00:07:43,120
Guarde eso, y cerraremos
ambos,

154
00:07:43,115 --> 00:07:44,285
ambos abajo. 

155
00:07:44,285 --> 00:07:48,305
Mueve el guión debajo de los dos componentes,

156
00:07:48,305 --> 00:07:49,735
o simplemente podemos dejarlo ahí. 

157
00:07:49,730 --> 00:07:51,500
¿ Cuál es la velocidad del enemigo? 

158
00:07:51,500 --> 00:07:54,170
Cuál es la velocidad del jugador primero, vale,

159
00:07:54,170 --> 00:07:58,000
Es entonces, hagamos que la velocidad enemiga 5.5 de eso. 

160
00:07:57,995 --> 00:07:59,485
Guarda eso. Está bien, genial. 

161
00:07:59,480 --> 00:08:01,520
Entonces ahora tenemos al enemigo. 

162
00:08:01,520 --> 00:08:04,220
Tenemos un cuerpo rígido y un colisionador sobre él

163
00:08:04,220 --> 00:08:07,040
para que podamos dispararle e interactuar con él físicamente. 

164
00:08:07,040 --> 00:08:12,340
Ahora lo que quieres hacer es empezar a mover al enemigo hacia el jugador,

165
00:08:12,335 --> 00:08:13,775
pero no todo el tiempo,

166
00:08:13,775 --> 00:08:17,095
sólo cuando el jugador se acerca lo suficiente. 

167
00:08:17,090 --> 00:08:21,080
Por lo que necesitamos una variable para el rango al

168
00:08:21,080 --> 00:08:25,250
que el jugador estará en una orden para que el enemigo deje de perseguirlo. 

169
00:08:25,250 --> 00:08:30,940
Y también necesitamos la dirección en la que se va a mover el enemigo. 

170
00:08:30,935 --> 00:08:32,885
Entonces primero que lo primero,

171
00:08:32,885 --> 00:08:35,425
vamos a crear un campo serializado,

172
00:08:35,420 --> 00:08:41,750
que será un flotador con el jugador o el rango de persecución del jugador,

173
00:08:41,750 --> 00:08:44,890
llamémoslo el rango de cadenas de jugadores. 

174
00:08:44,885 --> 00:08:49,855
Por lo que el rango que debe ser el jugador para empezar a perseguirlo. 

175
00:08:49,850 --> 00:08:54,320
Y crearemos un factor privado tres. 

176
00:08:54,320 --> 00:09:03,980
Y esta será la dirección para moverse en la dirección para moverse y guardar eso. 

177
00:09:03,980 --> 00:09:05,060
Está bien, genial. 

178
00:09:05,060 --> 00:09:08,030
Volvamos aquí. 

179
00:09:08,030 --> 00:09:11,480
¿ Y cuál es el rango de persecución? ¿Y sabes qué? 

180
00:09:11,480 --> 00:09:12,890
Guardémoslo para más adelante. 

181
00:09:12,890 --> 00:09:16,970
Y te mostraré una forma muy astuta de cómo podemos dibujar. 

182
00:09:16,970 --> 00:09:20,930
Entonces, ¿cómo vamos a saber cuál es el rango de persecución? 

183
00:09:20,930 --> 00:09:22,130
Entonces puedo, por ejemplo,

184
00:09:22,130 --> 00:09:26,590
empezar a hacer el rango de cambio cinco o diez, o 21. 

185
00:09:26,585 --> 00:09:27,845
Pero, ¿qué significa? 

186
00:09:27,845 --> 00:09:30,235
¿ Qué significa el rango de persecución aquí dentro. 

187
00:09:30,230 --> 00:09:33,500
Entonces tenemos que cada vez calcular estas
casitas

188
00:09:33,500 --> 00:09:36,890
aquí para determinar qué tan lejos o cerca está declarar. 

189
00:09:36,890 --> 00:09:38,770
Bueno, claro que no. 

190
00:09:38,765 --> 00:09:41,225
Lo que vamos a hacer es dibujar

191
00:09:41,225 --> 00:09:44,935
aquí
un círculo que sólo aparecerá en el modo de escena,

192
00:09:44,930 --> 00:09:47,570
pero no dentro del modo de juego. 

193
00:09:47,570 --> 00:09:49,550
¿ Cómo vamos a hacer esto? 

194
00:09:49,550 --> 00:09:55,010
Si volvemos y aquí tenemos algo llamado los artilugios de sorteo. 

195
00:09:55,010 --> 00:09:57,460
Y eso lo puedes encontrar en la documentación de Unity. 

196
00:09:57,455 --> 00:09:59,065
Y el aquí vamos,

197
00:09:59,060 --> 00:10:02,770
se
puede ver que tenemos algo bajo el comportamiento mono,

198
00:10:02,765 --> 00:10:05,095
que es onDraw gizmo select. 

199
00:10:05,090 --> 00:10:08,150
Y se puede ver aquí mismo implementar el OnDraw se selecciona para

200
00:10:08,150 --> 00:10:11,680
dibujar objeto gizmo está seleccionado. 

201
00:10:11,675 --> 00:10:16,675
Observe lo que dijimos, si el objeto está seleccionado y se puede ver aquí mismo,

202
00:10:16,670 --> 00:10:20,090
tenemos la prueba de artilugios y cómo podemos usarlo. 

203
00:10:20,090 --> 00:10:22,390
Por lo que creamos un vacío onDraw gizmo. 

204
00:10:22,385 --> 00:10:28,675
Y aquí dentro podemos crear el color del gizmo por lo que seleccionamos qué color queremos que se dibujen. 

205
00:10:28,670 --> 00:10:30,590
Y qué queremos dibujar,

206
00:10:30,590 --> 00:10:32,150
que es la esfera. 

207
00:10:32,150 --> 00:10:36,860
Entonces podemos hacer click en la troposfera y la podemos ver aquí mismo,

208
00:10:36,860 --> 00:10:38,710
que es que el público dibuja miedo,

209
00:10:38,705 --> 00:10:42,695
dibuja una esfera sólida con centro y un radio. 

210
00:10:42,695 --> 00:10:44,915
Entonces pongamos en práctica esto. 

211
00:10:44,915 --> 00:10:52,975
Y úsalo para dibujar nuestro propio círculo o esfera alrededor del enemigo y conocer el alcance del mismo. 

212
00:10:52,970 --> 00:10:57,470
Y si miramos de cerca el método y aquí podemos ver que dibuja el miedo,

213
00:10:57,470 --> 00:11:00,440
necesitamos un centro y necesitamos un radio. 

214
00:11:00,440 --> 00:11:02,240
Entonces, ¿cuál debería ser el radio? 

215
00:11:02,240 --> 00:11:05,990
Piénsalo mientras creamos este método. 

216
00:11:05,990 --> 00:11:13,540
Entonces aquí, vamos a decir en sorteo artilugio seleccionado. 

217
00:11:13,535 --> 00:11:16,465
Y antes que nada vamos a elegir un color. 

218
00:11:16,460 --> 00:11:20,960
Entonces va a ser el color de punto de artilugios

219
00:11:20,960 --> 00:11:25,450
y va a ser igual al color, digamos rojo. 

220
00:11:25,445 --> 00:11:27,145
Guarda eso. 

221
00:11:27,140 --> 00:11:35,120
A continuación vamos a acceder a los artilujos punto Dibujar alambre, esfera. 

222
00:11:35,120 --> 00:11:40,450
Entonces, ¿por qué son la mirada de la esfera que dibuja una esfera de estructura alónica con un centro y el radio. 

223
00:11:40,445 --> 00:11:42,355
Entonces es un poco diferente a la esfera,

224
00:11:42,350 --> 00:11:45,910
pero como estamos jugando en 2D,

225
00:11:45,905 --> 00:11:47,875
no
necesitamos dibujar toda la esfera,

226
00:11:47,870 --> 00:11:50,050
solo
necesitamos el cable alrededor de ella. 

227
00:11:50,045 --> 00:11:53,155
Y veamos cuál debería ser el centro. 

228
00:11:53,150 --> 00:11:56,900
El centro obviamente debe ser las posiciones de punto transformado o

229
00:11:56,900 --> 00:12:01,360
transporte es el transporte del objeto que tiene el controlador enemigo. 

230
00:12:01,355 --> 00:12:03,295
Sé que lo he dicho un millón de veces,

231
00:12:03,290 --> 00:12:05,830
pero para aquellos de ustedes que aún están confundidos,

232
00:12:05,825 --> 00:12:09,505
sé que estaba un poco confundida cuando empecé a hacer

233
00:12:09,500 --> 00:12:13,690
esto hace un par de años, hace muchos años. 

234
00:12:13,685 --> 00:12:16,655
Y recuerdo, entonces ¿de dónde viene esto? 

235
00:12:16,655 --> 00:12:21,055
Bueno, es la transformación del objeto que tiene el controlador enemigo sobre él, lo

236
00:12:21,050 --> 00:12:24,010
que significa que es éste, V enemigo. 

237
00:12:24,005 --> 00:12:28,375
Este es el transformador que habla aquí atrás. 

238
00:12:28,370 --> 00:12:29,930
¿ Cuál es el radio? 

239
00:12:29,930 --> 00:12:31,700
Bueno, ¿lo has pensado? 

240
00:12:31,700 --> 00:12:33,700
¿ Cuál debería ser el radio? 

241
00:12:33,695 --> 00:12:37,565
Obviamente, es el rango de persecución del jugador. 

242
00:12:37,565 --> 00:12:39,305
Eso lo vamos a salvar. 

243
00:12:39,305 --> 00:12:42,505
Vamos a volver a la Unidad. 

244
00:12:42,500 --> 00:12:46,760
Y bueno, mientras que el círculo que podrías estar preguntando, bueno,

245
00:12:46,760 --> 00:12:50,660
si recuerdas hace un par de videos apagamos los artilugios. 

246
00:12:50,660 --> 00:12:51,890
A lo mejor ya lo viste,

247
00:12:51,890 --> 00:12:55,390
no
te diste cuenta, pero si hacemos clic en él, ahí vamos. 

248
00:12:55,385 --> 00:12:56,665
¿ Y por qué lo apagamos? 

249
00:12:56,660 --> 00:13:00,520
Porque teníamos esta cámara e ícono molesto de la cámara. 

250
00:13:00,515 --> 00:13:03,085
Lo que podemos hacer es abrir los artilujos. 

251
00:13:03,080 --> 00:13:06,590
Se puede ver que aquí podemos anular la selección de muchas cosas,

252
00:13:06,590 --> 00:13:11,030
pero una de las más importantes es que podemos hacer que estos iconos sean un poco más pequeños. 

253
00:13:11,030 --> 00:13:12,470
Entonces ahí lo tienes. 

254
00:13:12,470 --> 00:13:16,810
Ya no vemos a la molesta cámara ir, ¿correcto? 

255
00:13:16,805 --> 00:13:19,965
Así que mira ese círculo grande, enorme. 

256
00:13:19,969 --> 00:13:21,409
Hagámoslo un poco más pequeño. 

257
00:13:21,410 --> 00:13:24,820
Y se puede ver que cambia de inmediato. 

258
00:13:24,815 --> 00:13:26,855
Yo lo voy a hacer sí grande. 

259
00:13:26,855 --> 00:13:28,675
Voy a poner al jugador ahí. 

260
00:13:28,670 --> 00:13:32,780
Y lo siguiente que tenemos que hacer es calcular la distancia
entre el

261
00:13:32,780 --> 00:13:37,180
jugador y el enemigo y ver si es menor que el alcance. 

262
00:13:37,175 --> 00:13:40,115
Si es menos, podemos empezar a perseguir al jugador. 

263
00:13:40,115 --> 00:13:41,825
Si no es menor que,

264
00:13:41,825 --> 00:13:43,915
no perseguimos al jugador. 

265
00:13:43,910 --> 00:13:47,300
Entonces, ¿cuál es el primer paso a hacer? 

266
00:13:47,300 --> 00:13:49,190
Bueno, tenemos el alcance,

267
00:13:49,190 --> 00:13:52,300
tenemos la posición transformadora del enemigo. 

268
00:13:52,295 --> 00:13:55,735
Lo siguiente que necesitamos es una referencia al jugador. 

269
00:13:55,730 --> 00:13:59,080
¿ Cómo vamos a conseguir la referencia del jugador? 

270
00:13:59,075 --> 00:14:07,245
Bueno, antes que nada necesitamos entender un método que les voy a mostrar,
que

271
00:14:07,245 --> 00:14:11,835
es el objeto dot find objetos de tipo. 

272
00:14:11,830 --> 00:14:13,600
Y lo que esto hace,

273
00:14:13,600 --> 00:14:19,450
el objeto t significa que depende de cuál sea el objeto que estás buscando. 

274
00:14:19,450 --> 00:14:21,190
Entonces cuando encuentras el objeto,

275
00:14:21,190 --> 00:14:23,860
d se convierte en ese tipo de objeto. 

276
00:14:23,860 --> 00:14:29,860
Entonces el objeto, el primer acto de objeto cargado que coincide con el tipo específico. 

277
00:14:29,860 --> 00:14:36,720
Por lo que devuelve el primer objeto cargado de los tipos de tipo o puedes darle tu tipo. 

278
00:14:36,715 --> 00:14:38,265
Y si miramos aquí,

279
00:14:38,260 --> 00:14:39,730
podemos ver un par de ejemplos. 

280
00:14:39,730 --> 00:14:43,960
Entonces digamos que queremos encontrar el renderizador de Canvas. 

281
00:14:43,960 --> 00:14:45,880
Si no sabes cuál es el renderizador de Canvas

282
00:14:45,880 --> 00:14:48,600
, no te preocupes, lo revisaremos más adelante.
 

283
00:14:48,595 --> 00:14:51,785
Pero por ahora, mira el renderizador de Canvas. 

284
00:14:51,785 --> 00:14:56,905
Creamos una variable de tubería de renderizador de lienzo con el nombre Canvas,

285
00:14:56,900 --> 00:15:00,740
y usamos objeto finito de tipo y obtenemos el render de lienzo. 

286
00:15:00,740 --> 00:15:03,410
Por lo que ahora obtenemos una referencia al mismo. 

287
00:15:03,410 --> 00:15:05,770
Y como sólo tenemos un jugador,

288
00:15:05,765 --> 00:15:06,955
podemos usar esto. 

289
00:15:06,950 --> 00:15:08,770
Si tuviéramos múltiples jugadores,

290
00:15:08,765 --> 00:15:10,595
no
podíamos tener porque,

291
00:15:10,595 --> 00:15:14,675
bueno, obviamente encontramos sólo el primer acto de uno. 

292
00:15:14,675 --> 00:15:17,375
Entonces busca este método,
encuéntralo

293
00:15:17,375 --> 00:15:20,935
, estudialo, entenderlo. 

294
00:15:20,930 --> 00:15:24,140
Y entonces tendrás que hacer este reto. 

295
00:15:24,140 --> 00:15:27,170
Tendrás que encontrar el objeto jugador. 

296
00:15:27,170 --> 00:15:31,610
Entonces crea una variable de tipo transformada para representar al jugador que queremos
perseguir

297
00:15:31,610 --> 00:15:38,300
y empezar a usar encontrar objetos del tipo 2, encontrar al jugador. 

298
00:15:38,300 --> 00:15:41,470
El tipo debe ser el controlador del jugador. 

299
00:15:41,465 --> 00:15:46,655
¿ Por qué? Porque necesitamos encontrar algún tipo específico del jugador. 

300
00:15:46,655 --> 00:15:49,295
Entonces, ¿cómo identificamos al jugador? 

301
00:15:49,295 --> 00:15:51,425
Es igual que todos los demás objetos. 

302
00:15:51,424 --> 00:15:52,824
¿ Qué lo hace único? 

303
00:15:52,820 --> 00:15:57,260
No es solo el nombre que puedes encontrar a través del nombre o el cuerpo o el on. 

304
00:15:57,260 --> 00:15:59,520
Tenemos que usar algo específico. 

305
00:15:59,524 --> 00:16:03,354
Y eso es algo específico es el guión del controlador del jugador. 

306
00:16:03,350 --> 00:16:09,920
Por eso el tipo de objeto que quieres encontrar es el controlador del jugador. 

307
00:16:09,920 --> 00:16:13,780
Y finalmente usa la transformación de puntos en el objeto que encuentres y

308
00:16:13,775 --> 00:16:17,975
asígnalo a la variable que hemos creado, y dot transform. 

309
00:16:17,975 --> 00:16:22,435
Deberías saber esto porque el tipo que vamos a crear es la transformación. 

310
00:16:22,430 --> 00:16:23,720
¿ Por qué se transforma? 

311
00:16:23,720 --> 00:16:25,640
Bueno, porque queremos conseguir la distancia. 

312
00:16:25,639 --> 00:16:26,929
¿ Cómo obtenemos la distancia? 

313
00:16:26,930 --> 00:16:29,270
Bueno, obviamente porque es una transformación. 

314
00:16:29,270 --> 00:16:31,310
Así que pausa el video ahora mismo. 

315
00:16:31,310 --> 00:16:34,200
Ve a hacer el reto. 

316
00:16:34,210 --> 00:16:37,220
De acuerdo, entonces lo primero, primero,

317
00:16:37,220 --> 00:16:45,430
vamos a crear una transformación privada y el jugador a perseguir. 

318
00:16:45,434 --> 00:16:47,684
Ahora dentro de inicio,

319
00:16:47,680 --> 00:16:56,160
vamos a decir que el jugador a perseguir es igual para encontrar objetos de tipo. 

320
00:16:56,155 --> 00:17:00,615
Y el tipo que buscamos es el controlador del jugador. 

321
00:17:00,610 --> 00:17:04,990
Y cuando sí lo encontramos porque declaró de dos Chase como una transformación,

322
00:17:04,990 --> 00:17:09,340
sólo
vamos a acceder a la transformada inmediatamente de mí. 

323
00:17:09,340 --> 00:17:11,100
Entonces espero que hayas hecho el reto. 

324
00:17:11,095 --> 00:17:12,795
Espero que no fuera demasiado duro. 

325
00:17:12,790 --> 00:17:15,190
Sé que aquí hubo un poco de trucos,

326
00:17:15,190 --> 00:17:18,640
pesar de que es la primera vez que usas encontrar objeto de tipo,

327
00:17:18,640 --> 00:17:21,480
estoy seguro de que al menos fuiste capaz

328
00:17:21,475 --> 00:17:24,805
de hacer esta parte si no te hubieras dado cuenta de esto,

329
00:17:24,805 --> 00:17:29,525
no te
preocupes sobre que era su debido tiempo, lo entenderá todo. 

330
00:17:29,525 --> 00:17:35,195
Pero ahora, el siguiente paso es seguir adelante y calcular la distancia. 

331
00:17:35,195 --> 00:17:39,265
Entonces voy a crear en primer lugar, una declaración if. 

332
00:17:39,260 --> 00:17:43,250
Y luego voy a escribir vector 3 punto. 

333
00:17:43,249 --> 00:17:46,549
Y se puede ver que aquí tenemos un método que es la distancia y

334
00:17:46,550 --> 00:17:50,110
devuelve la distancia entre a y B.

335
00:17:50,105 --> 00:17:52,615
Así que vamos a abrir esto. 

336
00:17:52,610 --> 00:17:54,050
¿ Cuál es la a? 

337
00:17:54,050 --> 00:17:59,750
Va a ser la posición de punto transformado. ¿Y cuál es la B? 

338
00:17:59,750 --> 00:18:03,960
Va a ser el jugador para perseguir posición de punto. 

339
00:18:03,964 --> 00:18:05,154
Ahí vas. 

340
00:18:05,150 --> 00:18:10,060
Y cuál es la condición si la distancia entre la posición transformada,

341
00:18:10,055 --> 00:18:12,325
que es el enemigo y el jugador a perseguir,

342
00:18:12,320 --> 00:18:18,520
que es el jugador y es menor que el rango de persecución del jugador V. 

343
00:18:18,515 --> 00:18:22,235
Entonces vamos a estar moviendo a nuestro enemigo. 

344
00:18:22,235 --> 00:18:24,205
Pero eso es por otro video. 

345
00:18:24,200 --> 00:18:27,710
Por ahora, solo voy a usar el registro de puntos de depuración. 

346
00:18:27,710 --> 00:18:34,600
Y voy a decir que el jugador está en el rango Chase. 

347
00:18:34,604 --> 00:18:41,894
Y una declaración else que diremos que duplican esta línea, muévala hacia abajo. 

348
00:18:41,890 --> 00:18:44,160
Y va a decir,

349
00:18:44,155 --> 00:18:52,515
jugador fuera de Chase está fuera de alcance de persecución. 

350
00:18:52,510 --> 00:18:56,000
Guarda eso de nuevo en nuestro juego. 

351
00:18:57,960 --> 00:19:02,640
Vamos a saber lo que sólo quiero hacer algo. 

352
00:19:02,635 --> 00:19:05,475
Haré público esto solo por ahora,

353
00:19:05,470 --> 00:19:07,870
sólo para que veamos qué pasa. 

354
00:19:07,870 --> 00:19:10,600
Por lo que notarás que en el enemigo
ahora

355
00:19:10,600 --> 00:19:13,440
mismo tenemos un jugador que perseguir, pero no hay nada. 

356
00:19:13,435 --> 00:19:15,435
No vamos a añadir nada. 

357
00:19:15,430 --> 00:19:18,280
Nosotros sólo vamos a ejecutar el juego. Ahí vas. 

358
00:19:18,275 --> 00:19:21,085
Se puede ver que ahora el jugador de la perdición, si hago clic en él,

359
00:19:21,080 --> 00:19:23,440
ahí está la referencia y ahora el esqueleto,

360
00:19:23,435 --> 00:19:26,395
nuestro enemigo tiene una referencia al jugador. 

361
00:19:26,390 --> 00:19:27,770
Hasta puedo dispararle. 

362
00:19:27,770 --> 00:19:29,870
Entonces voy a entrar a la consola. 

363
00:19:29,870 --> 00:19:31,550
¿ Qué es esto falso? 

364
00:19:31,550 --> 00:19:32,360
Hagamos doble clic. 

365
00:19:32,360 --> 00:19:36,620
De acuerdo, Entonces este y jugador está fuera de alcance de persecución. 

366
00:19:36,620 --> 00:19:38,890
Déjame poner la ventana de juego al lado

367
00:19:38,885 --> 00:19:43,165
la escena cuando esos para que podamos ver claramente el círculo aquí dentro. 

368
00:19:43,160 --> 00:19:46,100
Entonces si me acerco lo suficiente,

369
00:19:46,100 --> 00:19:50,350
Ahí vamos, se puede ver que ahora jugador está en rango Chase. 

370
00:19:50,345 --> 00:19:53,575
Si salgo, jugador está fuera de alcance. 

371
00:19:53,570 --> 00:19:56,530
Si voy y juego como NJ extraño,

372
00:19:56,525 --> 00:19:59,585
ahí tienes, todo está funcionando perfectamente bien. 

373
00:19:59,585 --> 00:20:01,045
Por lo que espero que lo disfruten. 

374
00:20:01,040 --> 00:20:04,120
Y el siguiente video en realidad estará moviendo a nuestro enemigo,

375
00:20:04,115 --> 00:20:06,745
no solo imprimiendo algo a la depuración, al registro. 

376
00:20:06,740 --> 00:20:08,740
Permítanme eliminar este registro de puntos de depuración. 

377
00:20:08,735 --> 00:20:09,505
Guarda eso. 

378
00:20:09,500 --> 00:20:13,120
Déjame volver a hacer esto privado porque no necesitamos verlo. 

379
00:20:13,115 --> 00:20:14,755
Yo sólo quería demostrarme. 

380
00:20:14,750 --> 00:20:17,620
No olvides escenificar todos tus archivos. 

381
00:20:17,615 --> 00:20:19,735
Y antes de irme,

382
00:20:19,730 --> 00:20:21,860
¿Qué quería también contarles a todos. 

383
00:20:21,860 --> 00:20:22,990
Espero que lo disfruten. 

384
00:20:22,985 --> 00:20:24,695
Nos vemos la próxima vez. 

