1
00:00:00,650 --> 00:00:05,970
Bienvenidos de nuevo a mis compañeros desarrolladores de juegos a un video totalmente nuevo. 

2
00:00:05,969 --> 00:00:11,629
Y en éste en realidad hemos hecho que nuestros enemigos sean ligeramente estúpidos. 

3
00:00:11,625 --> 00:00:14,145
Entonces a pesar de que pueda disparar,

4
00:00:14,145 --> 00:00:18,705
pero sólo el ligero problema es que se dispara a sí mismo,

5
00:00:18,705 --> 00:00:20,445
lo cual a veces es bueno,

6
00:00:20,445 --> 00:00:22,425
sobre todo si es un enemigo muy duro. 

7
00:00:22,425 --> 00:00:25,235
Pero en nuestro caso, lo estaremos arreglando más adelante. 

8
00:00:25,230 --> 00:00:27,930
Pero por ahora, todo lo que necesitas saber es que podemos

9
00:00:27,930 --> 00:00:31,330
cambiar el tiempo entre tomas a, por ejemplo, tres. 

10
00:00:31,330 --> 00:00:33,410
Y se puede ver que se tarda tres segundos en disparar,

11
00:00:33,410 --> 00:00:35,660
pero eso no lo hacemos usando un contador. 

12
00:00:35,660 --> 00:00:38,990
Hacemos eso usando algo llamado corutina,

13
00:00:38,990 --> 00:00:46,120
que es un miedo muy duro pero en herramienta creíblemente poderosa para aprender en Unidad. 

14
00:00:46,115 --> 00:00:50,245
Por lo que necesito tu concentración y tu total atención. 

15
00:00:50,240 --> 00:00:55,890
No perdamos más tiempo y empecemos. 

16
00:00:55,990 --> 00:01:02,930
De acuerdo, entonces tiempo para darle a nuestro enemigo la capacidad de disparar al jugador,

17
00:01:02,930 --> 00:01:05,420
o al menos atacar al jugador. 

18
00:01:05,420 --> 00:01:10,460
Tenemos dos tipos diferentes de ataques que vamos a implementar en nuestro juego. 

19
00:01:10,460 --> 00:01:11,990
Uno de ellos será el malayo,

20
00:01:11,990 --> 00:01:15,190
uno de ellos estará simplemente disparando desde lejos o

21
00:01:15,185 --> 00:01:19,235
lanzando la espada y el ejemplo de los esqueletos. 

22
00:01:19,235 --> 00:01:22,615
Pero vamos a enfocarnos más por ahora en el tiroteo desde

23
00:01:22,610 --> 00:01:25,960
distancia y hacerlos ataques cuerpo a cuerpo más adelante. 

24
00:01:25,955 --> 00:01:27,595
A lo mejor en una sección diferente,

25
00:01:27,590 --> 00:01:31,570
puede estar en la sección de jefe donde tenemos el esqueleto gigante. 

26
00:01:31,565 --> 00:01:33,545
De acuerdo, con eso fuera del camino,

27
00:01:33,545 --> 00:01:35,065
sigamos adelante y empecemos. 

28
00:01:35,060 --> 00:01:38,350
El primero que vamos a hacer es que vamos a

29
00:01:38,345 --> 00:01:42,195
crear un par de variables y el caso del controlador enemigo 0. 

30
00:01:42,190 --> 00:01:45,970
Entonces vamos a entrar al controlador enemigo. 

31
00:01:45,965 --> 00:01:49,865
Y aquí dentro vamos a crear un par de variables. 

32
00:01:49,865 --> 00:01:55,145
Entonces antes de la salpicadura de la muerte aquí mismo,

33
00:01:55,145 --> 00:01:58,225
vamos a sumar ataque,

34
00:01:58,220 --> 00:02:03,710
solo un común para que sepamos qué es todo y va a ser un campo serializado

35
00:02:03,710 --> 00:02:09,400
de tipo booleano y va a ser un ataque cuerpo a cuerpo. 

36
00:02:09,395 --> 00:02:11,585
Entonces si se trata de un atacante cuerpo a cuerpo,

37
00:02:11,585 --> 00:02:15,635
lo
vamos a revisar en el inspector y atacará usando cuerpo a cuerpo. 

38
00:02:15,635 --> 00:02:18,505
Entonces vamos a crear un campos serializados,

39
00:02:18,500 --> 00:02:25,040
que va a ser un objeto de juego y va a ser el proyectil enemigo. 

40
00:02:25,040 --> 00:02:30,460
Entonces esto es lo que el enemigo estará tirando de su mano si sí dispara. 

41
00:02:30,455 --> 00:02:34,945
Por último, vamos a crear un punto de transformación. 

42
00:02:34,940 --> 00:02:38,180
Ah, lo siento, posición de fuego. 

43
00:02:38,180 --> 00:02:41,110
De acuerdo, entonces ahora tenemos el proyectil. 

44
00:02:41,105 --> 00:02:43,435
Crearemos una posición de archivo. 

45
00:02:43,430 --> 00:02:49,180
Y también queremos tener un tiempo entre los disparos que hace el enemigo. 

46
00:02:49,175 --> 00:02:51,965
Por lo que es similar a la forma en que manejamos nuestro arma. 

47
00:02:51,965 --> 00:02:56,755
Por lo que el tiempo de flotación entre tomas. 

48
00:02:56,750 --> 00:03:04,520
Y finalmente vamos a crear un bool privado listo para disparar. 

49
00:03:04,520 --> 00:03:06,380
Entonces, ¿qué pasa aquí? 

50
00:03:06,380 --> 00:03:09,010
Cuando estamos listos para disparar, el enemigo dispara,

51
00:03:09,005 --> 00:03:12,715
y cada vez que dispara y entre los disparos de tiempo se va a calcular. 

52
00:03:12,710 --> 00:03:14,270
Entonces lo hicimos usando,

53
00:03:14,270 --> 00:03:16,730
creo el contador. 

54
00:03:16,730 --> 00:03:20,180
Creamos un contador donde contamos atrás el tiempo hasta que

55
00:03:20,180 --> 00:03:24,290
terminamos cierta cantidad de tiempo entre tomas cuando esté terminado,

56
00:03:24,290 --> 00:03:25,900
entonces podemos mostrarlo de nuevo. 

57
00:03:25,895 --> 00:03:27,545
Esa era una vieja manera. 

58
00:03:27,545 --> 00:03:30,545
Ahora vamos a usar algo llamado la co-rutina. 

59
00:03:30,545 --> 00:03:34,105
Por lo que antes de hacer eso y presentarles a las corutinas,

60
00:03:34,100 --> 00:03:38,390
permítanme en primer lugar poner a la realidad la lista para rodar aquí. 

61
00:03:38,390 --> 00:03:40,280
Por lo que siempre que el enemigo empiece,

62
00:03:40,280 --> 00:03:42,950
está listo para disparar y una actualización. 

63
00:03:42,950 --> 00:03:47,510
Vamos a seguir adelante y crear algo aquí dentro que es una condición. 

64
00:03:47,509 --> 00:03:50,829
Y si El atacante malayo,

65
00:03:50,824 --> 00:03:54,484
o si no somos un mero atacante, no lo somos. 

66
00:03:54,485 --> 00:03:59,305
Cuando volvemos a poner el signo de exclamación y estamos listos para disparar. 

67
00:03:59,300 --> 00:04:03,050
Entonces lo que vamos a hacer es que vamos a seguir adelante

68
00:04:03,050 --> 00:04:07,040
y decir eso listo para disparar como falso. 

69
00:04:07,039 --> 00:04:11,859
Y luego aquí dentro vamos a empezar un recubrimiento. 

70
00:04:11,854 --> 00:04:14,364
Entonces, ¿qué es una co-rutina? 

71
00:04:14,359 --> 00:04:16,179
¿ Por qué lo necesitamos aquí? 

72
00:04:16,175 --> 00:04:19,055
Tengamos un poco de explicación. 

73
00:04:19,055 --> 00:04:21,715
Entonces, ¿qué es un coltán? 

74
00:04:21,710 --> 00:04:25,970
Una co-rutina es un método que puede suspender la ejecución de

75
00:04:25,970 --> 00:04:32,260
instrucciones hasta que se cumpla una determinada condición o ciertas condiciones. 

76
00:04:32,255 --> 00:04:36,025
Estas suspensiones se conocen como rendimiento. 

77
00:04:36,020 --> 00:04:37,730
Y en nuestro ejemplo,

78
00:04:37,730 --> 00:04:42,950
estará suspendiendo el tiempo hasta que nuestro enemigo esté listo para disparar de nuevo. 

79
00:04:42,950 --> 00:04:46,880
Entonces volvamos a nuestro código y veamos qué significa todo eso. 

80
00:04:46,880 --> 00:04:48,460
Por lo que actualmente lo que
tenemos,

81
00:04:48,455 --> 00:04:51,605
revisamos la actualización que se llama cada fotograma individual. 

82
00:04:51,605 --> 00:04:57,485
Verificamos si no estamos apuntando atacante y estamos listos para disparar,

83
00:04:57,485 --> 00:04:59,665
luego listos para disparar, configurados en falso. 

84
00:04:59,660 --> 00:05:04,430
Y por ejemplo, aquí vamos a disparar la bala. 

85
00:05:04,430 --> 00:05:07,600
Pero lo que queremos, al igual que teníamos en el mostrador,

86
00:05:07,595 --> 00:05:12,235
queremos después de cierto tiempo poder disparar. 

87
00:05:12,230 --> 00:05:15,760
Nuevamente, tenemos este set en falso porque no queremos disparar a

88
00:05:15,755 --> 00:05:19,555
cada marco una bala y tener gazilones de balas. 

89
00:05:19,550 --> 00:05:23,530
Entonces la forma en que solucionamos esto es mediante el uso de una co-rutina. 

90
00:05:23,525 --> 00:05:26,395
Entonces déjame solo seguir adelante y crear una coroutine
aquí mismo

91
00:05:26,390 --> 00:05:30,520
va a ser de tipo enumerador de ojos. 

92
00:05:30,515 --> 00:05:34,675
No necesitas preocuparte mucho por lo que es nuestro enumerador,

93
00:05:34,670 --> 00:05:38,420
solo debes saber que es el tipo de recubrimientos. 

94
00:05:38,420 --> 00:05:45,970
Vamos a crear el nombre corutino como enemigo de fuego, proyectil. 

95
00:05:45,965 --> 00:05:53,045
Voy a abrir los corchetes y vamos a suspender el tiempo. 

96
00:05:53,045 --> 00:05:55,865
Entonces voy a decir ese rendimiento. 

97
00:05:55,865 --> 00:05:58,835
Está bien, Focus, rinde. 

98
00:05:58,835 --> 00:06:00,785
Eso significa que estamos suspendiendo. 

99
00:06:00,785 --> 00:06:04,205
Retorno. Nuevo. 

100
00:06:04,205 --> 00:06:07,735
Espere cuatro segundos. 

101
00:06:07,730 --> 00:06:09,890
Voy a abrir los corchetes. 

102
00:06:09,890 --> 00:06:15,340
¿ Y cuántos segundos queremos ponderar como el tiempo entre tiros? 

103
00:06:15,335 --> 00:06:23,095
Y después de eso, podemos seguir adelante e instanciar la bala o instanciar el proyectil,

104
00:06:23,090 --> 00:06:25,520
que es el proyectil,

105
00:06:25,520 --> 00:06:29,690
proyectil
enemigo donde hacer instanciado en la posición cinco,

106
00:06:29,690 --> 00:06:35,810
esa posición y la posición pero la estación rho. 

107
00:06:35,810 --> 00:06:40,630
Y entonces lo que podemos hacer es poner a la lista para volver a disparar en realidad. 

108
00:06:40,625 --> 00:06:42,985
Y ahora lo podemos volver a mostrar. 

109
00:06:42,980 --> 00:06:44,530
Complicado, ¿no? 

110
00:06:44,525 --> 00:06:46,085
Sé menos explicar. 

111
00:06:46,085 --> 00:06:47,785
Ah, y antes de que me olvide,

112
00:06:47,780 --> 00:06:50,660
y aquí después de que tengamos el disparo,

113
00:06:50,660 --> 00:06:52,900
iniciamos la co-rutina,

114
00:06:52,895 --> 00:06:56,635
que es el proyectil enemigo lejano. 

115
00:06:56,630 --> 00:06:59,000
De acuerdo, ahora estás aún más confundido. 

116
00:06:59,000 --> 00:07:02,050
Probemos esto de nuevo y actualicemos. 

117
00:07:02,045 --> 00:07:05,755
¿ De qué tenemos cada actualización de fotogramas como siendo frío,

118
00:07:05,750 --> 00:07:08,780
tenemos todas estas declaraciones justo aquí las cuales
estaremos

119
00:07:08,780 --> 00:07:12,080
convirtiendo en métodos en tan solo un poco. 

120
00:07:12,080 --> 00:07:14,210
Pero en lo que nos enfocamos es aquí,

121
00:07:14,210 --> 00:07:18,440
si no somos un atacante cuerpo a cuerpo y estamos listos para disparar,

122
00:07:18,440 --> 00:07:19,660
entonces listos para disparar,

123
00:07:19,655 --> 00:07:22,625
establecidos en falso, y comenzamos un Colton. 

124
00:07:22,625 --> 00:07:24,325
Entonces, ¿qué pasa aquí dentro,

125
00:07:24,320 --> 00:07:26,260
listo para disparar un set a falso? 

126
00:07:26,255 --> 00:07:31,015
Eso significa que este método o esta condición aquí mismo es falsa. 

127
00:07:31,010 --> 00:07:33,830
Por lo que no volvemos a disparar cada fotograma. 

128
00:07:33,830 --> 00:07:35,630
Por eso lo pusimos en falso. 

129
00:07:35,630 --> 00:07:38,360
Pero, ¿cómo lo vamos a volver a hacer realidad? 

130
00:07:38,360 --> 00:07:41,030
Solíamos hacer eso usando el contador. 

131
00:07:41,030 --> 00:07:43,670
Ahora estamos usando algo un recubrimiento. 

132
00:07:43,669 --> 00:07:45,199
Y así como dije,

133
00:07:45,200 --> 00:07:47,860
corutina se llama Usando inicio coroutine. 

134
00:07:47,855 --> 00:07:51,745
Ponen el nombre aquí y lo llaman yo enumerador. 

135
00:07:51,740 --> 00:07:54,560
No se preocupe. No te preocupes por eso. Por ahora. 

136
00:07:54,560 --> 00:07:57,190
¿ Quieres ahondar más en eso? Sé mi invitado. 

137
00:07:57,185 --> 00:08:00,055
No tienes que saber exactamente qué significa eso. 

138
00:08:00,050 --> 00:08:01,930
Tenemos el proyectil enemigo lejano,

139
00:08:01,925 --> 00:08:04,495
entonces tenemos esta expansión, que es el rendimiento. 

140
00:08:04,490 --> 00:08:08,180
Después tenemos el regreso nuevo, espera cuatro segundos. 

141
00:08:08,180 --> 00:08:10,700
Entonces debido a que tenemos un numerador iónico,

142
00:08:10,700 --> 00:08:15,230
tenemos que devolver un nuevo peso cuatro segundos. ¿Qué hace esto? 

143
00:08:15,230 --> 00:08:19,160
Al igual que dice, espera una serie de segundos,

144
00:08:19,160 --> 00:08:21,110
que es el tiempo entre tomas. 

145
00:08:21,110 --> 00:08:23,530
Y después de que espere esto,

146
00:08:23,525 --> 00:08:27,125
entonces instanciamos al proyectil enemigo. 

147
00:08:27,125 --> 00:08:32,005
Enemigo dispara, y está listo para disparar otra vez, una y otra vez. 

148
00:08:32,000 --> 00:08:34,360
Entonces, ¿qué pasa aquí dentro? 

149
00:08:34,355 --> 00:08:35,785
En primer lugar, empezamos,

150
00:08:35,780 --> 00:08:38,210
tenemos los listos para disparar a la verdad. 

151
00:08:38,210 --> 00:08:39,850
Deberíamos. 

152
00:08:39,845 --> 00:08:42,265
Es falso, ya no disparamos. 

153
00:08:42,260 --> 00:08:45,350
Y cuando termine el tiempo entre tomas,

154
00:08:45,350 --> 00:08:50,120
lanzamos el proyectil y luego estamos listos para disparar de nuevo. 

155
00:08:50,120 --> 00:08:52,960
Probemos esto y veamos cómo funciona. 

156
00:08:52,955 --> 00:08:55,255
Voy a volver a Unidad. 

157
00:08:55,250 --> 00:09:00,500
Voy a ver dónde tenemos realmente nuestro cuchillo 0. 

158
00:09:00,500 --> 00:09:01,760
Entonces no tenemos un cuchillo. 

159
00:09:01,760 --> 00:09:05,780
Entonces lo que haremos es simplemente usar la bala que ya tenemos. 

160
00:09:05,780 --> 00:09:08,090
Por lo que en las prefabs,

161
00:09:08,090 --> 00:09:09,800
tenemos los folletos de jugador. 

162
00:09:09,800 --> 00:09:12,650
Solo usa eso por ahora, la posición de fuego,

163
00:09:12,650 --> 00:09:14,860
déjame agregar clic derecho,

164
00:09:14,855 --> 00:09:16,775
crea un objeto de juego vacío. 

165
00:09:16,775 --> 00:09:19,265
Y lo voy a poner justo aquí,

166
00:09:19,265 --> 00:09:20,815
se corren casi justo aquí. 

167
00:09:20,810 --> 00:09:28,370
Por lo que esta será la posición de fuego sobre el enemigo. 

168
00:09:28,370 --> 00:09:30,710
Nosotros le proporcionamos la posición FAR

169
00:09:30,710 --> 00:09:33,730
definida entre disparos sería de 1 segundo. Eso lo salvaremos. 

170
00:09:33,725 --> 00:09:42,025
Y ahora vamos a asegurarnos de que no sea un, hizo un atacante. 

171
00:09:42,020 --> 00:09:44,770
Corremos el juego y veamos qué pasa. 

172
00:09:44,765 --> 00:09:47,185
Entonces ahora, ahí tienes. 

173
00:09:47,180 --> 00:09:49,820
Se puede ver que está instanciando la bala,

174
00:09:49,820 --> 00:09:53,930
pero Se está disparando a sí mismo y a la cara. 

175
00:09:53,930 --> 00:09:55,910
Entonces si hago una pausa por un segundo,

176
00:09:55,910 --> 00:09:57,530
se
puede ver que la posición cinco,

177
00:09:57,530 --> 00:09:59,450
así es como se está dirigiendo. 

178
00:09:59,450 --> 00:10:05,660
Y sabemos que la bala de los jugadores solo viajó en la dirección correcta. 

179
00:10:05,660 --> 00:10:07,100
Sé que es un poco gracioso. 

180
00:10:07,100 --> 00:10:09,440
Probemos esto de una manera diferente. 

181
00:10:09,440 --> 00:10:11,060
Pero en todo caso,

182
00:10:11,060 --> 00:10:15,350
no nos
preocupemos demasiado por eso por ahora porque en el siguiente video estaremos

183
00:10:15,350 --> 00:10:21,110
creando balas enemigas adecuadas que en realidad van muy lejos hacia el jugador o no. 

184
00:10:21,110 --> 00:10:23,330
Incluso las balas crearán el proyectil,

185
00:10:23,330 --> 00:10:25,480
que es el noveno del enemigo. 

186
00:10:25,475 --> 00:10:29,315
Lo estará tirando como el jugador y no disparándose a sí mismo. 

187
00:10:29,315 --> 00:10:33,655
Pero se puede ver en este momento que esto está funcionando usando el Colton. 

188
00:10:33,650 --> 00:10:36,410
Si hago clic atrás en el enemigo justo aquí,

189
00:10:36,410 --> 00:10:40,000
se
puede ver que puedo aumentar el tiempo entre disparos a 2. 

190
00:10:39,995 --> 00:10:43,795
Entonces ahora cada dos segundos tenemos este ataque. 

191
00:10:43,790 --> 00:10:46,370
Entonces espero que hayan disfrutado el video. 

192
00:10:46,370 --> 00:10:49,100
Sé que el mecánico de tiro no es perfecto,

193
00:10:49,100 --> 00:10:51,740
pero como dije en el siguiente video,

194
00:10:51,740 --> 00:10:53,410
estaremos creando mejores balas. 

195
00:10:53,405 --> 00:10:56,985
Espero que estén cometiendo todos sus cambios. 

196
00:10:56,989 --> 00:11:01,659
Y en el siguiente video estaremos haciendo unas balas enemigas adecuadas,

197
00:11:01,655 --> 00:11:03,685
gentiles, o como quieras llamarlo. 

198
00:11:03,680 --> 00:11:06,180
Entonces te veré entonces. 

