Bienvenido de nuevo Mis desarrolladores de juegos favoritos a un nuevo video muy largo.
Y éste, hemos creado animaciones para la sangre.
Hemos aprendido acerca de las matrices.
Y ahora se puede ver en la jerarquía cuando disparamos a nuestro enemigo,
se puede ver que tenemos diferentes tipos de sangre siendo instanciados.
Entonces por ejemplo, ahora la sangre para entonces tenemos la sangre para,
entonces tenemos los tres.
Entonces, ¿qué está pasando?
Tenemos un montón de Bloods y ellos están instanciando
tipo de aleatoriamente porque usamos una matriz.
Entonces, no perdamos más tiempo y empecemos.
Por lo que es hora de añadir algún efecto rebaño a nuestros enemigos.
Adelante y antes que nada,
creemos todos estos efectos.
Entonces voy a entrar a los sprites,
tenemos la salpicadura de sangre.
Voy a crear una carpeta para la salpicadura de impacto sanguíneo.
A lo mejor deberíamos haber llamado a esto la muerte, pero sin preocupaciones,
lo llamaremos las salpicaduras de impacto.
Entonces sabemos que la Francia y yo vamos a entrar a
los recursos y se puede ver que te he proporcionado más sangre.
Puedes usar estos y rebanarlos o puedes usar estos cinco aquí mismo.
Entonces, elegámoslos todos y arrástrelos hacia abajo a la carpeta aquí mismo.
¿ Por qué los estamos usando todos?
Porque queremos tener un poco de diversificación entre el 1D 2D,
3D y etcétera.
Por lo que se puede ver que cada uno de ellos es sólo un poco diferente a los otros.
Entonces voy a guardar esto y voy a crear las animaciones.
Y es bastante fácil creo.
Entonces voy a hacer con y usar la magia de la edición para hacerlo en 1 segundo.
Entonces o k, bienvenido de nuevo.
Entonces, ¿cómo conseguiste todo eso?
Déjame mostrarte lo que hice.
Entonces, en primer lugar, creé cinco sangres para el
55 de impacto sanguíneo que tenemos ahora no son muy diferentes entre sí,
pero hay una ligera diferencia.
Entonces cuando ejecutamos esto,
se puede ver que éste es el primero.
Este es el segundo que es un poco diferente.
El primero es un poco más chapoteado.
El tercero, vamos a ver.
puede ver que cae más que el segundo.
Por lo que se puede ver que son los dos.
Este es tres.
Es un poco más cayendo.
No estoy seguro de cómo llamarlo.
El cuarto, se puede ver que es muy pequeño y muy concentrado.
Y la quinta que puedes ver es muy GUI.
Entonces, ¿qué vamos a hacer?
Vamos a salvar todo eso.
Voy a entrar a los Prefabs aquí y voy a crear una carpeta para
las salpicaduras de pestañas respaldadas por lote y voy a arrastrar la sangre 1,
2, 3, 4, y 5.
Voy a guardar todo eso.
Voy a eliminarlos de la jerarquía.
Y ahora tenemos la sangre aquí.
Ahora creo que probablemente tendremos que destruirlos y sólo un poco,
pero por ahora, no se preocupe por eso.
Eso lo arreglaremos cuando surja el problema.
Entonces, ¿qué vamos a hacer?
¿ Queremos instanciar estas sangrientas cada vez que el enemigo sale lastimado?
Y la forma en que hacemos eso es antes que nada,
obteniendo obviamente una referencia al mismo como hicimos con la salpicadura de la muerte.
Por lo que a esto se le llamará el efecto de daño.
Por los daños.
El efecto de daño.
Vamos a mantenerlo en eso o puedes llamar al daño salpicaduras de sangre como quieras.
Y ahora lo que vamos a hacer es simplemente vamos a
instanciarlo cada vez que salgamos lastimados.
Entonces aquí abajo, vamos a duplicar esto.
Subirlo un poco.
Y si recuerdas cómo duplicamos Control D,
cómo movimos esto muy bien manteniendo presionada Alt y usando las teclas de flecha.
Entonces ahora instanciamos v.
¿Qué debemos instanciar el efecto de daño?
Y está en la posición de transformación de la.
Entonces voy a guardar todo eso.
Voy a volver a nuestro juego.
Voy a elegir al enemigo aquí tenemos el efecto dañino,
y elijamos uno azul.
Guarda eso.
Y ahora vamos a correr el juego.
Y ahora voy a disparar a nuestro enemigo.
Ahí vamos. Se puede ver la sangre.
Obviamente está en repetición.
De acuerdo, entonces ahora tenemos que empezar a instanciar estos efectos cada vez que el enemigo sale herido.
Entonces, ¿dónde estamos instanciando el efecto o los efectos de impacto de las balas?
Bueno, los estamos instanciando en el controlador de bala de capa.
Para que veas aquí es donde los instanciamos.
Ahora qué queremos hacer cada vez que estamos golpeando una pared,
tenemos este efecto Impacto de bala.
Pero siempre que estamos golpeando a un enemigo,
queremos tener algún tipo de efecto de carga.
Entonces voy a duplicar esta línea aquí mismo.
Y voy a llamar a esto el maduro.
Yo lo llamo el hecho del daño.
Porque esto significa que habrá algún tipo de daño
cuando tengamos daño significa que hay sangre significa que hay algo diferente.
Y lo que haremos aquí es que cada vez que golpeemos a un enemigo,
voy a abrir los corchetes.
Y voy a añadir aquí mismo que instanciamos e instanciamos
el efecto de daño en la posición de transformación y la rotación de transformación.
Pero lo que no queremos tener como cuando estamos
golpeando al enemigo y aún instanciamos un efecto bala.
Entonces lo que voy a hacer es ir a otra declaración aquí.
Y voy a mover toda esta línea hacia abajo a esa declaración else.
¿ Cómo estoy haciendo esto?
Al mantener presionada Alt y usar las teclas de flecha en una de las líneas que quiero mover.
Entonces ahora qué pasa cuando la bala
Impacta o tiene una colisión y esa colisión tiene una etiqueta de enemigo,
entonces tendremos esta salpicadura de sangre
y accederemos al controlador animal e infligirá daño.
Si no, si no es el enemigo,
lo que significa que estamos golpeando,
no sé lo que sea.
Vamos a tener el efecto bala y espalda.
Entonces voy a guardar esto.
Voy a volver aquí.
Y aquí, voy a buscar mi bala en los prefabs,
prefabs V bala bilayer aquí dentro,
deberíamos tener al jugador,
pero yo debería tener el efecto de daño.
Voy a bloquear esto en el inspector
que tengas este pequeño login aquí, puedes hacer click en él.
Ahora, lo que sea que presiones,
no cambias del inspector de libros de jugadores.
Y esto es útil. ¿Por qué? Porque ahora podemos abrir este archivo,
elegir el de sangre,
y sumémoslo aquí dentro al daño de hecho,
guardar todo eso, ejecutar el juego.
Y ahora deberíamos ver que cuando estamos disparando al muro, tenemos este impacto.
Cuando disparamos a un enemigo.
Ahí vamos.
Tenemos la sangre jugando en repetición,
lo que significa que tendremos que cambiar las animaciones.
Y no te dije que he creado animaciones.
Simplemente puede quitar eso.
Y déjame borrar esta carpeta.
Lo tuve por error.
Entonces chapotea uno, quita esto.
Splash para quitar esto del looping del,
oops, lo encendí por error. Apagarlo.
Apague. Entonces ahí tienes.
Tenemos todas las animaciones no en looping, vale, guarda eso,
corre el juego ahora cuando deberíamos el enemigo,
deberíamos ver la salpicadura de sangre de sangre uno.
De acuerdo, Así que eso está bien y dandy y todo está bien.
Pero tenemos cinco hechos por una razón.
¿ Cómo vamos a asegurarnos de que uno de ellos se renderice?
Y no sólo eso, ¿cómo vamos a asegurarnos de que se
renderice un número aleatorio de éstos?
Entonces necesitamos múltiples objetos de sangre aquí.
Ahora, lo que podemos hacer es simplemente seguir adelante y duplicar esto cinco veces.
Daños 123, etc.
Así que tenemos cinco daños a los que podemos llamar aleatoriamente.
Esa es una solución, pero no es la solución óptima porque por ejemplo,
digamos que queremos tener tal vez 17 efectos de daño.
¿ Tenemos que seguir adelante y crear 17 variables?
Bueno, puedes, pero antes que nada, es muy engorroso.
En segundo lugar, no es una buena forma de utilizar los recursos.
¿ Cuál es una buena forma de utilizar los recursos como crear algo llamado matriz?
Entonces, ¿qué es una matriz?
Una matriz permite almacenar múltiples objetos del mismo tipo en una sola variable.
Para que podamos seguir adelante y crear un int.
Entonces, por ejemplo, una matriz de enteros,
por ejemplo, que es el número de enemigos.
que pueda almacenar, por ejemplo,
4, 6, 11, y 71.
Y cada uno de estos pequeños datos está en la matriz.
Se puede ver que tenemos en primer lugar,
el tipo al igual que una variable,
pero la única diferencia, agregamos estos dos corchetes.
Tenemos el nombre y tenemos los valores.
Y cada uno de esos valores es o tiene un índice en su interior.
Entonces, por ejemplo, los cuatro se indexan en 0.
Y recuerda que siempre empezamos a indexar a 0, no a 10.
El seis está en el índice uno,
el 11 está en el índice dos,
y el tres está en el índice.
Es decir, 71 está en el índice 3 y podemos tener tantos como quisiéramos.
Entonces ahora que tienes un poco de comprensión de lo que son las matrices,
y una cosa más podemos determinar la longitud de una matriz.
Entonces, por ejemplo, la longitud de esta matriz es de cuatro porque tenemos cuatro valores.
Entonces fuera del camino, esta pequeña explicación,
intentemos implementarla un poco y se puede ver cómo funciona eso.
Entonces voy a volver atrás y unidad o en realidad no aquí.
¿ Y cómo convertimos este efecto de daño en una matriz?
Simplemente agregamos estos dos corchetes.
Y ahora creo que es apropiado nombrar esto no efecto de daño,
sino efectos de daño con una S al final,
porque ahora es plural.
Por lo que usaremos nuestra útil herramienta de control o, o,
y simplemente añadiremos una S al final, pulsa Enter.
Ahora el efecto de daño aquí es diferente,
pero se puede ver que la instanciación ahora está equivocada.
¿ Por qué? Porque estamos tratando de instanciar una matriz de efectos que no funciona bien,
pero lo arreglaremos,
o en realidad lo vas a arreglar más adelante en el reto.
En primer lugar, sumemos todos los daños y veamos cómo se ve en el inspector.
Entonces si voy a mi bala,
en la bala de jugador prefabs,
se puede ver aquí mismo, ¿dónde está?
Entonces algo anda mal.
¿ Cuál es el problema?
Y la consola? Hagamos doble clic y veamos.
Ah, así que déjame comentar esto.
Guarde que a veces cuando se tiene un error,
el script no se monta correctamente.
Entonces ahora que arreglamos este problema,
y podemos ver aquí mismo que tenemos efectos de daño,
ya no un solo elemento,
sino que podemos abrirlo y tener una lista de elementos.
Lo que podemos hacer es decir que el tamaño de la matriz es de dos. Hit enter.
Ahora tenemos dos elementos,
o podemos hacerlo de la manera anticuada y golpear el plus justo aquí y agregar un objeto.
Pero te voy a mostrar un truco incluso astuto.
Voy a encerrar al inspector aquí.
Voy a ir a mis prefabs.
Voy a dar click en el primero,
mantener pulsado, cambiar, dar click en el último.
Por lo que los tengo seleccionados a todos y los voy a arrastrar al efecto dañino.
Y voila, ahora tienes ¿por qué usé agua?
Ahora tenemos las 50 sangres y se pueden ver los elementos numerados desde 0,
1, 2, 3, y 4.
Ahora el siguiente paso es instanciar a uno de ellos de forma aleatoria.
Y puedo mostrarles,
primer lugar, esto será un reto.
No estoy seguro de cuál debería mostrarte primero.
Déjame en primer lugar, mostrarte esto.
Entonces tenemos algo llamado rango aleatorio,
que devuelve un número aleatorio.
Adelante, mira hacia arriba.
Ahora es el momento de tu reto.
Y tu reto es crear un efecto aleatorio.
Así que número uno, crea un splash aleatorio a partir de 0
como el valor mínimo y la longitud de la matriz como el valor máximo.
Entonces ahora estás un poco confundido.
¿ De qué está hablando Michael?
Nuevamente, volvemos a este.
El mínimo, el máximo.
Ahí vas. Usa esto, búscalo.
De vuelta aquí.
Asigne ese valor a una variable entera que creará localmente.
Por lo tanto, crea un entero aleatorio,
asígnale un número aleatorio.
Busca letrinas aleatorias 0.
De acuerdo, así que he añadido eso.
Y por último, te voy a dar una pista.
Si no quieres la pista,
Se trata de cómo obtenemos la longitud de la matriz.
Te daré la pista. Si no,
pausa el video, ve al reto.
Quieres tener la pista, usa la longitud de punto para obtener la longitud de la matriz.
Incluso puedes buscar un par de ejemplos son no,
esto es un reto un poco duro.
Yo añadiría en una escala de uno a 10 como principiante,
este es un 10 porque antes que nada, acabas de
aprender matrices.
En segundo lugar, estás usando al azar.
Sé que es difícil.
Tómate tu tiempo, pausa el video,
usa tus habilidades de resolución de problemas,
todo lo que has adquirido,
y no te preocupes por ello cuando termines el reto.
Si no sabes cómo hacerlo, lo
haré frente a ti, pero inténtalo.
Lo más importante, al menos dete cinco minutos para intentarlo.
Así que pausa el video ahora mismo y ve a hacer lo mejor que puedas y el caldeo.
De acuerdo, bienvenido de nuevo.
Entonces siempre que golpeemos a un enemigo,
lo que vamos a hacer es que vamos a crear una variable aleatoria y localmente,
por lo que localmente significa dentro de aquí,
cada vez que golpeamos a un enemigo,
voy a decir que tenemos un entero
que va a ser la salpicadura seleccionada.
Y va a ser igual a un rango aleatorio.
Entonces al igual que tenemos en los ejemplos,
y la documentación de Unidad va a estar entre 0 y la salpicadura de la muerte o no,
lo llamamos, aparecen el daño afecta.
El daño afecta la longitud de los puntos.
Guarda eso.
Entonces ahora lo que pasa aquí dentro,
tenemos este entero.
Es igual a un rango aleatorio.
Y se puede ver aquí mismo que tenemos el mínimo.
Entonces, ¿por qué es 0? Porque queremos elegir
un número aleatorio de la matriz que tenemos aquí.
Y el primer índice es 0,
y el último índice va a ser la longitud del daño.
Pero hay algo muy importante que quiero señalarles.
Y si miramos aquí la explicación,
se puede ver que el mínimo es inclusivo mientras que el máximo es exclusivo.
¿ Qué significa eso? ¿Inclusivo?
Eso significa que podemos elegir un aleatorio desde 0 hasta el máximo.
Entonces 0 está dentro.
0 puede ser uno de esos números aleatorios.
Pero el máximo, que es la longitud, no puede.
Y esto es importante porque la indexación en una matriz,
si elegimos la longitud,
la longitud siempre es mayor que el último índice.
Porque si vuelvo atrás y el ejemplo aquí dentro, déjame mostrarte.
Entonces, digamos ¿cuál es la longitud de toda esta matriz?
Son cuatro porque tenemos cuatro puntos.
Pero si trato de acceder al cuarto número en esta matriz,
obtendré un error porque tenemos el índice es 0, 1, 2,
3 si trato de acceder al cuarto,
así que para no hay nada,
obtengo un error y empiezo a llorar.
No necesariamente, pero espero que consigas el punto.
Lo siguiente que vamos a hacer es que queremos instanciar.
Entonces ahora que tenemos nuestro número aleatorio,
qué podemos hacer a partir de entre los efectos,
puedo abrir los paréntesis y puedo usar el salteador seleccionado aleatorio.
Entonces ahora tengo un número aleatorio que está entre 0 y la longitud menos uno,
obviamente porque es exclusivo.
Y ahora puedo instanciar los efectos de daño
o uno de los efectos de daño aleatoriamente usando este número.
Entonces podría haber dicho el 0 V1,
pero he seleccionado la salpicadura aleatoria.
Entonces, vamos a guardar eso.
Espero que lo entiendas todo.
Si no, solo échale otro vistazo, tal
vez reproduzca el video, entienda todo.
He tratado de ser lo más detallado posible mientras soy un aburrido.
Creo que este es uno de los videos más largos, pero no se preocupe.
Voy a entrar a mi juego.
Vamos a quitar esto aquí mismo es como el enemigo.
Y por cierto,
también me aseguré de que toda la sangre que puedas ver aquí mismo,
la capa de clasificación como enemigo.
Para que lo veas. ¿Y dónde está el enemigo?
Yo le voy a dar mil o 10 mil salud
sólo para que podamos ver adecuadamente todas las salpicaduras de sangre.
Entonces voy a llegar pero cerca,
voy a disparar 12345.
Entonces ahí tienes.
Se puede ver que algo no está del todo bien,
así que voy a disparar.
¿ Y cuál es el problema con este caso 1, 0?
Entonces acabo de encontrar el problema y la sangre 5 que he agregado aquí mismo, la sangre.
Mira cuando tocas la animación,
la última es un punto rojo.
Entonces lo que voy a hacer,
voy a quitar el último. Y ahí tienes.
Ahora, sólo tenemos esto cuando la sangre termina a las lanzas.
Guarda todo eso.
Y déjame simplemente elegir la luna.
El sangre 5 y un vivo cambia.
Vuelve a borrarlo en la bala. Déjame ver.
A lo mejor porque cambiamos algo, quizá prefabs bala.
Está bien. Sigue trabajando, guarda eso,
vuelve a nuestro juego.
Obviamente tendremos que quitar todos estos para que un zapato,
el enemigo, vamos a ver.
Tenemos diferentes sangres.
No, sigue ahí por alguna razón.
¿ Por qué es eso? Es muy molesto.
Está bien. Por lo que descubrí que la sangre para
también tiene su último marco como este rojo molestos puntos.
Entonces lo voy a borrar y guardar eso.
De inmediato lo estoy borrando dentro del prefabricado.
Entonces simplemente voy a la prefab,
haga doble clic en las tres.
Veamos si este también tiene el pequeño molesto punto rojo que subes.
De acuerdo, Así que ahí tienes.
También lo tiene guardar eso y sangre para hacer zoom y ver la animación.
De acuerdo, otro trabajo sangriento.
Este video se está saliendo de control.
Entonces ahí vamos,
el último, también borramos eso.
Y una cosa que noté,
quiero elegir todas las prefabs y asegurarme de que todas
sus posiciones estén en 0 para que no se instancien.
Y algún lugar raro.
De todos modos, de vuelta a nuestro juego.
Espero que esta vez todo esté funcionando a la perfección.
Entonces voy a correr el juego y voy a disparar al enemigo.
Ahí vas.
Esta es la sangre espesa.
Otra vez azúcarlos.
De nuevo, es un tipo diferente de sangre. Se puede ver que está bloqueado.
Tres.
Sangre por Sangre uno.
Ahí vas. Se puede simplificar de nuevo, sangre uno.
Entonces como pueden ver, cada vez que estamos disparando al enemigo,
tenemos diferentes tipos de sangre que se está poniendo instanciado.
Para que veas que es un número aleatorio al que le disparan.
Entonces espero que hayas disfrutado.
Obviamente, hay un par de cosas que tendremos que arreglar
con que nuestra sangre no se destruya al final,
podríamos encontrar una forma diferente de arreglarlo una vez que aprendimos algunas herramientas extra,
o tal vez podamos simplemente eliminarlas usando el eventos y nuestras animaciones,
lo cual también es muy útil.
Entonces espero que hayas disfrutado,
espero que estés disfrutando este curso.
Espero que no estés siendo un poco desmotivado por la duración del,
algunos de los videos porque entro en un par de detalles.
Espero que te guste el hecho de que cometa errores y los guarde aquí para que podamos
arreglarlos juntos y dejarme una reseña si estás disfrutando.
Sé que lo he dicho antes.
mejor diré un par de veces,
así que asegúrate de hacer la revisión para que no tengas que escucharla más.
Y asegúrate de por supuesto, hacer los commits.
Te veré en el próximo video donde estaremos dando al enemigo y capacidad para dispararnos.
Por lo que actualmente se encuentra muy débil.
Nosotros queremos darle una forma de defenderse.
Entonces nos vemos.