1
00:00:00,240 --> 00:00:04,380
Bienvenidos de nuevo, mis compañeros desarrolladores de juegos. 

2
00:00:04,375 --> 00:00:07,335
En este video, vamos a sumar balas. 

3
00:00:07,330 --> 00:00:10,960
Nosotros les llamamos balas, pero son espadas a nuestro esqueleto. 

4
00:00:10,960 --> 00:00:13,510
Entonces cuando ejecutamos nuestro juego, mira lo que pasa. 

5
00:00:13,510 --> 00:00:17,770
Se puede ver que el esqueleto en realidad ahora está lanzando clases. 

6
00:00:17,770 --> 00:00:20,050
Y no sólo eso, si caminamos por ahí,

7
00:00:20,050 --> 00:00:22,390
las espadas empiezan a seguirnos. 

8
00:00:22,390 --> 00:00:23,490
Y si te das cuenta,

9
00:00:23,485 --> 00:00:26,325
si cambiamos la fuente que ya están volando,

10
00:00:26,320 --> 00:00:30,760
sigue volando en dirección porque hay algo muy reciente que sucedió. 

11
00:00:30,760 --> 00:00:35,160
Descubrieron que las clases no cambian de dirección en medio del aire. 

12
00:00:35,155 --> 00:00:38,505
Descubrimiento increíble. No perdamos más tiempo con nuestros,

13
00:00:38,500 --> 00:00:40,140
no les
llamemos bromas estúpidas. 

14
00:00:40,135 --> 00:00:42,885
Y empecemos. 

15
00:00:42,885 --> 00:00:49,675
Ah, está bien, entonces es hora de crear algunas balas enemigas adecuadas. 

16
00:00:49,670 --> 00:00:55,190
Entonces lo primero que vamos a hacer es que vamos a seguir adelante

17
00:00:55,190 --> 00:01:01,100
y conseguir los sprites de nuestra espada o la clase de enemigo. 

18
00:01:01,100 --> 00:01:03,220
Entonces si entro a los sprites,

19
00:01:03,215 --> 00:01:06,515
si entro al enemigo,

20
00:01:06,515 --> 00:01:09,485
los enemigos musulmanes, al esqueleto. 

21
00:01:09,485 --> 00:01:14,245
Y aquí dentro tengo el sprite para dónde está? 

22
00:01:14,240 --> 00:01:16,940
¿ Dónde están los pensamientos voladores? 

23
00:01:16,940 --> 00:01:19,160
Entonces ahí lo tienes. Este es el volador ordenado. 

24
00:01:19,160 --> 00:01:20,980
Creamos cualquier cosa para ello. 

25
00:01:20,975 --> 00:01:22,375
Creo que no lo hemos hecho. 

26
00:01:22,370 --> 00:01:26,620
Entonces voy a crear un objeto de juego vacío, restablecer su posición. 

27
00:01:26,615 --> 00:01:29,695
Y le voy a dar una de las,

28
00:01:29,690 --> 00:01:31,250
¿dónde está, las clases? 

29
00:01:31,250 --> 00:01:34,230
Entonces démosle sólo éste. 

30
00:01:34,450 --> 00:01:37,250
Sumaré cuatro. 

31
00:01:37,250 --> 00:01:40,120
Simplemente puedo añadir la espada aquí mismo. 

32
00:01:40,115 --> 00:01:48,235
Basta con quitar este objeto de juego y lo llamaré la espada de esqueleto volador. Ahí vas. 

33
00:01:48,230 --> 00:01:50,510
Y voy a crear una animación. 

34
00:01:50,510 --> 00:01:55,210
Entonces voy a ir a los Activos y animaciones,

35
00:01:55,205 --> 00:01:58,505
y voy a la animación esqueleto. 

36
00:01:58,505 --> 00:02:01,525
Y sólo llamémoslo el platillo volador. 

37
00:02:01,520 --> 00:02:02,690
Haga clic en Guardar. 

38
00:02:02,690 --> 00:02:08,690
Ahí vamos. Entonces ahora tenemos al animador y déjame simplemente elegir todos los sprites de tipo. 

39
00:02:08,690 --> 00:02:11,170
Y vamos a seguir adelante y arrastrarlos aquí. 

40
00:02:11,165 --> 00:02:13,645
Entonces ahora si ejecutamos la animación, ahí vamos,

41
00:02:13,640 --> 00:02:18,230
se
puede ver que tenemos una espada extremadamente rápida Eso es moverla alrededor. 

42
00:02:18,230 --> 00:02:23,990
De acuerdo, así que eso está casi bien. Entonces ahí lo tienes. 

43
00:02:23,990 --> 00:02:26,950
Se puede ver que así funciona nuestro tipo. 

44
00:02:26,945 --> 00:02:30,235
Y explota antes de que llegue al enemigo. 

45
00:02:30,230 --> 00:02:34,910
Por lo que tiene alrededor de 40 marcos de tiempo de vuelo. 

46
00:02:34,910 --> 00:02:41,000
Y eso es bueno. Nosotros sí queremos tener la espada al menos puede destruir a algún alcance. 

47
00:02:41,000 --> 00:02:43,450
No queremos que la sal esté volando todo el tiempo ahora,

48
00:02:43,445 --> 00:02:46,765
si sí quieres tener tu sal volando todo el tiempo,

49
00:02:46,760 --> 00:02:49,150
necesitarás agregar un par de cosas. 

50
00:02:49,145 --> 00:02:53,515
Entonces, por ejemplo, solo puedes ponerlo en un bucle y la sal seguirá volando
y volando

51
00:02:53,510 --> 00:02:57,890
sin que nunca se destruya hasta que llegue al jugador. 

52
00:02:57,890 --> 00:03:01,550
Y por último, justo puede ser destruido con algunas condiciones. 

53
00:03:01,550 --> 00:03:04,810
Pero no nos preocupemos demasiado por eso ahora mismo. 

54
00:03:04,805 --> 00:03:08,315
Lo que vamos a hacer es que vamos a abrir los guiones aquí dentro. 

55
00:03:08,315 --> 00:03:10,495
Vamos a entrar en las balas y

56
00:03:10,490 --> 00:03:13,400
vamos a hacer clic derecho y crear un nuevo guión C-sharp,

57
00:03:13,400 --> 00:03:18,980
que va a ser el controlador de bala enemigo. 

58
00:03:18,980 --> 00:03:21,620
Y sólo llamémoslo bala o proyectil,

59
00:03:21,620 --> 00:03:23,500
pero por ahora lo llamaremos bala. 

60
00:03:23,495 --> 00:03:26,165
Entonces voy a guardar eso. 

61
00:03:26,165 --> 00:03:29,425
Y voy a hacer doble clic y abrir esto. 

62
00:03:29,420 --> 00:03:34,040
Entonces lo primero que vamos a necesitar es un campo serializado,

63
00:03:34,040 --> 00:03:38,530
que es un flotador para la velocidad de bala. 

64
00:03:38,525 --> 00:03:42,925
Y yo, voy a usar bala y especie de proyectado a medida que avanzamos. 

65
00:03:42,920 --> 00:03:46,190
Y vamos a necesitar una referencia a la dirección de los jugadores. 

66
00:03:46,190 --> 00:03:53,930
Entonces voy a crear un vector privado 3 y va a ser la dirección del jugador. 

67
00:03:53,930 --> 00:03:57,190
Entonces, ¿cómo va a funcionar realmente la bala enemiga? 

68
00:03:57,185 --> 00:03:59,645
Lo que vamos a hacer es entonces empezar,

69
00:03:59,645 --> 00:04:02,125
vamos a determinar la dirección de los jugadores. 

70
00:04:02,120 --> 00:04:06,170
Entonces va a ser igual encontrar objetos de tipo. 

71
00:04:06,170 --> 00:04:10,210
Y va a ser el controlador de capas. 

72
00:04:10,205 --> 00:04:16,525
Y desde aquí vamos a seguir adelante y utilizar la posición de punto de transformación

73
00:04:16,520 --> 00:04:22,990
del jugador que encontramos menos el punto de posición transform.py
o.Eso

74
00:04:22,985 --> 00:04:25,405
es todo. No, no normalizado,

75
00:04:25,400 --> 00:04:27,110
No, ahora mismo no. 

76
00:04:27,110 --> 00:04:30,950
Entonces, ¿por qué estamos haciendo esto instalado y no una actualización? 

77
00:04:30,950 --> 00:04:34,580
Porque no queremos que la bala siga siguiendo al jugador. 

78
00:04:34,580 --> 00:04:39,620
Nosotros sólo queremos tener la dirección del jugador en cuanto se dispare la bala. 

79
00:04:39,620 --> 00:04:41,270
Entonces cuando se dispara la bala,

80
00:04:41,270 --> 00:04:43,450
estamos instanciando esa bala. 

81
00:04:43,445 --> 00:04:47,215
Y esa bala. En cuanto se despierte. Inicio. 

82
00:04:47,210 --> 00:04:49,820
Empezaremos. Encontrará el objeto jugador,

83
00:04:49,820 --> 00:04:51,980
obtendrá la dirección del jugador. 

84
00:04:51,980 --> 00:04:58,490
Y luego vamos a asegurarnos de que la dirección del jugador se normalice. 

85
00:04:58,490 --> 00:04:59,890
Ahí vamos. 

86
00:04:59,885 --> 00:05:03,505
Entonces de esa manera no es más rápido si se mueve en diagonal. 

87
00:05:03,500 --> 00:05:07,130
Está bien, genial. Ahora lo siguiente que queremos hacer es que queremos asegurarnos de que

88
00:05:07,130 --> 00:05:11,270
esa bala sea destruida cada vez que golpee un obstáculo. 

89
00:05:11,270 --> 00:05:12,670
Pero no sólo eso,

90
00:05:12,665 --> 00:05:17,045
queremos también reducir la salud del jugador más adelante cuando lo golpee. 

91
00:05:17,045 --> 00:05:19,805
Entonces una de las cosas que tendremos que hacer. 

92
00:05:19,805 --> 00:05:21,995
¿ El tema te es un reto? 

93
00:05:21,995 --> 00:05:23,615
¿ Qué tal esa transición? 

94
00:05:23,615 --> 00:05:26,245
El paja, la bala, y revisa al jugador. 

95
00:05:26,240 --> 00:05:27,760
Por lo que necesitarás crear,

96
00:05:27,755 --> 00:05:31,175
este debería ser M en Trigger Enter a D para la bala. 

97
00:05:31,175 --> 00:05:35,585
Necesitas comprobar si lo que golpeamos fue al jugador por su etiqueta,

98
00:05:35,585 --> 00:05:38,545
tendrá que destruir la bala cuando golpee algo. 

99
00:05:38,540 --> 00:05:40,220
Y te daré una pequeña pista,

100
00:05:40,220 --> 00:05:41,630
necesitarás usar la pajita. 

101
00:05:41,630 --> 00:05:42,860
Bueno, esto no es en realidad,

102
00:05:42,860 --> 00:05:44,390
fue bastante fácil,

103
00:05:44,390 --> 00:05:48,230
pero pensé que tal vez porque es la primera vez que usas destruido,

104
00:05:48,230 --> 00:05:49,810
tal vez lo necesites. 

105
00:05:49,805 --> 00:05:53,135
Por lo tanto, recuerda que también necesitarás agregar un gatillo a esto. 

106
00:05:53,135 --> 00:05:59,965
Pausa el video ahora mismo y ve a hacer el Shalon k

107
00:05:59,960 --> 00:06:03,260
Así que hay algo que me dejé Del reto. 

108
00:06:03,260 --> 00:06:07,580
Sí lo mencioné un poco y espero que ese zapato que esto por tu cuenta,

109
00:06:07,580 --> 00:06:10,390
voy a tener que añadir un colisionador. 

110
00:06:10,385 --> 00:06:14,135
Entonces un colisionador circular 2D, Es bastante grande. 

111
00:06:14,135 --> 00:06:17,545
Voy a poner el radio arriba, toma grande. 

112
00:06:17,540 --> 00:06:20,150
Voy a hacerlo, de acuerdo,

113
00:06:20,150 --> 00:06:22,510
Así que creo que este radio es lo suficientemente bueno. 

114
00:06:22,505 --> 00:06:24,835
Veamos cómo va a estar volando esto. 

115
00:06:24,830 --> 00:06:26,360
Entonces este es el círculo completo. 

116
00:06:26,360 --> 00:06:30,370
Entonces lo voy a mover un poco hacia abajo,

117
00:06:30,365 --> 00:06:32,575
un poco así o bien, genial. 

118
00:06:32,570 --> 00:06:34,310
Entonces ahora tenemos el colisionador,

119
00:06:34,310 --> 00:06:36,590
nos aseguramos de que sea un gatillo. 

120
00:06:36,590 --> 00:06:42,170
Voy a guardar esto y voy a seguir adelante en el o y añadir

121
00:06:42,170 --> 00:06:47,870
también los guiones del controlador de bala enemigo. 

122
00:06:47,870 --> 00:06:48,770
Ahí vamos. 

123
00:06:48,770 --> 00:06:51,500
La velocidad del barco será, hagámoslo 34. 

124
00:06:51,500 --> 00:06:53,960
Ahora, haga doble clic en esto, abra esto. 

125
00:06:53,960 --> 00:06:57,950
Y ahora lo que vamos a hacer es crear un on sugar entra,

126
00:06:57,950 --> 00:07:01,880
así que en Trigger Enter to D.

127
00:07:01,880 --> 00:07:10,120
Y aquí vamos a comprobar si la etiqueta collision.com. 

128
00:07:10,115 --> 00:07:13,585
Y si es el jugador,

129
00:07:13,580 --> 00:07:16,790
obviamente tendremos que crear la pila en un poco. 

130
00:07:16,790 --> 00:07:21,980
Si es el jugador simplemente va a usar el registro de puntos de depuración. 

131
00:07:21,980 --> 00:07:27,300
El estrato fue golpeado. 

132
00:07:27,300 --> 00:07:31,390
Y entonces simplemente vamos a paja esto,

133
00:07:31,390 --> 00:07:33,570
cualquiera que fuera el objetivo,

134
00:07:33,565 --> 00:07:36,615
alma destruyendo objeto de juego. 

135
00:07:36,610 --> 00:07:37,870
Guarda eso. 

136
00:07:37,870 --> 00:07:41,470
Ahora el paso final es que queremos mover nuestra bala. 

137
00:07:41,470 --> 00:07:43,450
¿ Y cómo vamos a mover nuestra bala? 

138
00:07:43,450 --> 00:07:46,240
Bueno, obviamente podemos volver a usar cuerpo rígido,

139
00:07:46,240 --> 00:07:49,380
igual que hicimos con la bala del jugador. 

140
00:07:49,375 --> 00:07:51,565
Pero creo que soy este caso,

141
00:07:51,565 --> 00:07:57,115
es mucho mejor usar la anticuada manera que se mueve la transformación del libro. 

142
00:07:57,115 --> 00:07:58,995
En primer lugar, hay muchas razones. 

143
00:07:58,990 --> 00:08:04,300
En primer lugar, podemos hacer esto con bastante facilidad y es muy efectivo. 

144
00:08:04,300 --> 00:08:08,890
Y la segunda razón es que no queremos tener muchos cuerpos rígidos y nuestro juego,

145
00:08:08,890 --> 00:08:11,090
porque siempre que tengas un cuerpo rígido,

146
00:08:11,090 --> 00:08:13,580
eso significa que el motor de física está funcionando. 

147
00:08:13,580 --> 00:08:16,390
Y cuando hay un motor de física está funcionando,

148
00:08:16,385 --> 00:08:19,525
eso significa que hay más potencia computacional. 

149
00:08:19,520 --> 00:08:23,170
Entonces la última que usamos la mantequilla corre nuestro juego. 

150
00:08:23,165 --> 00:08:26,245
Entonces una actualización, voy a acceder a la transformación. 

151
00:08:26,240 --> 00:08:29,570
Yo voy a, me refiero a la posición sobre la transformación. 

152
00:08:29,570 --> 00:08:32,690
Y voy a seguir aumentando. 

153
00:08:32,690 --> 00:08:36,170
Al entrar en la dirección del jugador,

154
00:08:36,170 --> 00:08:38,540
tiempo la velocidad de la bala. 

155
00:08:38,540 --> 00:08:45,040
Entonces esta velocidad, y por supuesto voy a usar el tiempo, el tiempo delta. 

156
00:08:45,035 --> 00:08:49,075
Por lo que en cuanto se instancie
la bala,

157
00:08:49,070 --> 00:08:52,420
se encuentra la dirección del jugador. 

158
00:08:52,415 --> 00:08:58,015
Y todos y cada uno de los fotogramas la transformación se mueve hacia ese jugador. 

159
00:08:58,010 --> 00:09:00,190
Y en cuanto golpea al jugador,

160
00:09:00,185 --> 00:09:03,175
entonces se destruye el objeto del juego. 

161
00:09:03,170 --> 00:09:06,560
Y si teníamos capa profunda o cualquier otro objeto que se destruya,

162
00:09:06,560 --> 00:09:08,420
pero si teníamos al jugador específicamente,

163
00:09:08,420 --> 00:09:13,490
entonces el jugador fue golpeado se va a poner o imprimir en la consola. 

164
00:09:13,490 --> 00:09:15,040
Entonces voy a guardar esto. 

165
00:09:15,035 --> 00:09:17,725
Voy a volver a mi otra vez. 

166
00:09:17,720 --> 00:09:21,730
Y vamos a ver, vamos a hacer de esto un prefabricado. 

167
00:09:21,725 --> 00:09:28,535
Prefab. Voy a hacer clic derecho y aquí y crear una carpeta, 40 balas. 

168
00:09:28,535 --> 00:09:31,565
Y el jugador bala aquí dentro. 

169
00:09:31,560 --> 00:09:37,660
Haga doble clic aquí, establezca el tipo de esqueleto volador aquí. 

170
00:09:37,660 --> 00:09:39,760
Voy a borrarlo. 

171
00:09:39,760 --> 00:09:41,400
Guardemos esto. 

172
00:09:41,395 --> 00:09:45,675
Y sigamos adelante y corremos el juego y veamos qué pasa. 

173
00:09:45,670 --> 00:09:49,350
Entonces, está bien, no cambiamos el montón. 

174
00:09:49,345 --> 00:09:52,785
No hemos cambiado las balas reales del jugador. 

175
00:09:52,780 --> 00:09:53,440
Entonces ahí vamos. 

176
00:09:53,440 --> 00:09:55,400
Vamos a añadir este esqueleto volador,

177
00:09:55,404 --> 00:09:58,094
ordenar astron el juego. 

178
00:09:58,090 --> 00:10:01,590
Y como puedes ver,

179
00:10:01,585 --> 00:10:07,815
no pasa nada porque la bala está en las capas de clasificación equivocadas. 

180
00:10:07,810 --> 00:10:10,210
Entonces en la capa de clasificación enemiga,

181
00:10:10,210 --> 00:10:11,710
ahora deberíamos salvar esto. 

182
00:10:11,710 --> 00:10:14,510
Ahora cuando corremos, deberíamos. 

183
00:10:14,505 --> 00:10:20,305
Sí, ahí vamos. Se puede ver que tenemos este tipo volando hacia el jugador. 

184
00:10:20,300 --> 00:10:21,830
Y cuando tuvimos al jugador,

185
00:10:21,830 --> 00:10:24,610
no
tenemos nada impreso en la consola. 

186
00:10:24,605 --> 00:10:28,855
¿ Por qué es eso? Bueno, vamos a revisar, va a guardar esto. 

187
00:10:28,850 --> 00:10:34,130
Entonces olvidé el paso más importante y lo que debiste haber hecho en el reto,

188
00:10:34,130 --> 00:10:37,130
supongo que sabrías qué hacer y el reto,

189
00:10:37,130 --> 00:10:39,130
porque estamos revisando la etiqueta de jugador,

190
00:10:39,125 --> 00:10:42,065
pero aparentemente por memoria, ¿no es genial? 

191
00:10:42,065 --> 00:10:48,095
Entonces el problema aquí es que no etiquetamos al jugador también, al jugador. 

192
00:10:48,095 --> 00:10:51,205
Como pueden ver, ya tenemos la etiqueta aquí mismo. 

193
00:10:51,200 --> 00:10:54,490
Tan gran error, no se preocupe por eso. 

194
00:10:54,485 --> 00:10:55,625
Vivimos, aprendimos,

195
00:10:55,625 --> 00:10:57,265
aplicamos nuestros cambios. 

196
00:10:57,260 --> 00:10:59,090
Guardamos todo esto, ejecutamos el juego. 

197
00:10:59,090 --> 00:11:03,050
Y ahora lo que deberíamos ver es que ahí vas. 

198
00:11:03,050 --> 00:11:05,720
Tan pronto como el arreglado el jugador, tenemos,

199
00:11:05,720 --> 00:11:10,570
el jugador fue golpeado y lo puedes ver múltiples veces y aquí 4, 5, etc

200
00:11:10,565 --> 00:11:13,615
Ahora, lo que quería mostrarles es si muevo al jugador,

201
00:11:13,610 --> 00:11:18,410
las espadas que ya van en dirección al jugador no va a cambiar. 

202
00:11:18,410 --> 00:11:21,230
Entonces ahí lo tienes. Se puede ver que ahora ordenar

203
00:11:21,230 --> 00:11:24,320
seguir al jugador a medida que se mueve y podemos destruirlos? 

204
00:11:24,320 --> 00:11:25,300
Sí, podemos. 

205
00:11:25,295 --> 00:11:28,285
Si lo desea, puede agregar otra capa,

206
00:11:28,280 --> 00:11:30,430
que es la capa de bala enemiga,

207
00:11:30,425 --> 00:11:35,065
y asegurarse de que las balas del jugador no interactúen con el enemigo de bala. 

208
00:11:35,060 --> 00:11:36,160
Esa es tu elección. 

209
00:11:36,155 --> 00:11:38,905
¿ Qué mecánica de juego tienes en tu juego? 

210
00:11:38,900 --> 00:11:40,180
¿ Hacer eso, aplicarlo? 

211
00:11:40,175 --> 00:11:42,295
Me encantaría verlo si me muestras. 

212
00:11:42,290 --> 00:11:44,350
Y fue que ninguno, espero que lo disfruten. 

213
00:11:44,345 --> 00:11:48,805
Espero que estés cometiendo tus cambios cada video individual. 

214
00:11:48,800 --> 00:11:53,480
Y en el siguiente vamos a sumar un alcance al
disparo enemigo

215
00:11:53,480 --> 00:11:58,760
para que no queremos dejar que nuestro ME saque desde cualquier parte del mapa queremos tener un,

216
00:11:58,760 --> 00:12:02,300
algún tipo de alcance en el que el enemigo nos pueda disparar. 

217
00:12:02,300 --> 00:12:05,370
Entonces te veré entonces. 

