Bienvenidos a la revisión de nuestro reto.
Vamos a revisar cómo vamos a crear ese sistema de daño.
Vamos a crear todas las condiciones necesarias para la interacción entre el enemigo y el jugador y también
las necesarias para la interacción entre el láser y el enemigo.
Entonces vamos a iniciar con nuestro scrip Enemy y para detectar colisiones lo primero que necesito
es mi método para iveth.
Ituri.
Voy a nombrar esta variable a Holder sólo para que haga más sentido.
Es un nombre de variable.
Puede llamarse como sea y recuerda que todo lo que colisione con el enemigo va a estar guardado dentro
de esta variable.
Ahora antes de continuar yo ya sé que esto va a tener que estar revisando colisión contra el jugador
y contra el láser.
Pero imagina que tu juego tiene cuatro diferentes tipos de enemigos y cada uno de ellos tiene un nombre
diferente.
Aquí es donde los taxis y las etiquetas se vuelven muy útiles porque los enemigos se llaman diferentes
siempre van a tener algo en común.
Ellos son enemigos.
Ahora vamos a crear un par de tags uno para nuestros enemigos para identificarlos de una forma única
y otro para nuestro láser.
Hacemos clic en nuestro objeto Enemy y aquí es donde están los ataques.
Vamos a expandir y dar clic en ataque y luego en el signo para agregar uno nuevo y luego introducimos
el nombre de nuestro target.
Vamos a llamarlo Enemy y luego hay que crear otro que vamos a llamar leche.
Ahora seleccionamos nuestro enemigo y le asignamos el tag Enemy y recuerda aplicar los cambios para
que se pueda ver reflejado en el objeto original.
Ahora seleccionamos nuestro objeto nuestro perijá y hacemos lo mismo seleccionamos el tag Deleuze y
se lo asignamos.
Salvamos nuestra escena sólo para revisar que todo esté salvado correctamente y ahora sí podemos continuar
con nuestro escrito.
Es aquí en que lo primero que vamos a hacer es revisar si oder tiene el tag ley.
Otro punto es igual que es lo que queremos hacer.
Aquí vamos a hacer dos cosas primero vamos a destruir el otro objeto que es el láser vamos a destruir
otro punto objeto y luego nos vamos a destruir a nosotros mismos.
Vamos a destruir al enemigo entonces ponemos otro display y escribimos disputo que optico recuerda que
estamos pensando como si nos fuéramos el enemigo.
Lo primero que voy a hacer es destruir el láser que en este caso está guardado dentro del objeto.
Entonces por eso escribo como un geek y luego como estamos hablando de nosotros mismos nos vamos a destruir
justo después qué vamos a destruirnos a nosotros mismos.
Y que en este caso somos el enemigo.
Ahora vamos a probar esto.
Cuando disparamos un láser a nuestro enemigo deberíamos ser capaces de destruirlo.
Parece que no está funcionando.
Aparentemente nuestro disparo triple tiene tiene un bug.
Vamos a ver qué está pasando.
Lo vamos a revisar al final de este review.
Ahora si movemos nuestro disparo tripié un poquito y corremos de nuevo te darás cuenta que mi disparasen
si está trabajando correctamente aquí accidentalmente lo dispare antes de tiempo.
Vamos a intentar de nuevo y como puedes ver mi láser efectivamente está funcionando destruyendo al enemigo.
Vamos a regresar después para reparar nuestro disparo triple pero por lo pronto quiero continuar y quiero
trabajar en las colisiones entre el enemigo y el jugador.
Entonces mi colisión con el láser está funcionando correctamente pero ahora como hago para revisar la
conexión con el jugador.
Para eso agregamos aquí abajo y escribimos otro punto.
Es igual dos igual y luego escribimos Player.
Qué pasa cuando el objeto tiene el tacto es lo que necesitamos hacer aquí es dañar al jugador.
Vamos a escribir un método que vamos a mandar llamar que lo que va a hacer es hacerle daño al jugador.
Para eso nos vamos a ir al club del jugador a nuestro Player y aquí es donde vamos a crear un método
que se va a encargar de hacer ese daño a nuestro jugador y bueno acá en el escrito pellet justo debajo
de nuestro método de movimiento vamos a escribir public void dame la lógica que vamos a seguir dentro
de este método es básicamente que vamos a quitarle la vida a nuestro jugador y en el caso de que esas
vidas sean menores a 1 o sea que ya hemos llegado a cero vamos a destruir este objeto vamos al jugador.
Ahora necesitamos un sistema de vidas y para hacerlo es muy simple simplemente declaramos aquí arriba.
Public Lives y lo voy a igualar a tres y ya está.
Así de simple.
Tenemos un sistema de vida en el cual vamos a utilizar el método que acabamos de crear.
Entonces cada vez que nos mandamos llamar el motor mazz lo que vamos a hacer es básicamente restaurar
una de esas vidas.
Entonces escribimos algo así como Lips es igual a la EPS menos uno.
También aquí podemos usar un método alternativo que es la EPS menos menos.
Cualquiera de estos va a restar uno de las vidas del jugador.
Existe un método más que básicamente es escribir libros menos igual a uno que es prácticamente el equivalente
del iPod.
Es igual al menos uno sólo que es un poco más corto.
Cualquiera de estos tres que quieres utilizar está bien va a funcionar predominantemente en programación.
El método que tú vas a ver para este tipo de casos es el del medio la EPS menos menos que básicamente
significa que estás restándole una vida a tu jugador.
Si quisieras por ejemplo sumarle una vida usarías algo que la vives más.
Y ahora ya tenemos ya le estamos restando uno a la vida del jugador.
Entonces ahora queremos checar si esas vidas son menores a 1.
Para eso escribimos y la EPS es menor que uno.
Entonces lo que vamos a hacer ahí es destruir el jugador.
Entonces ponemos 10 puntos y ya está.
Eso es todo lo que necesitamos para esto lo que necesitamos dentro de este método.
Ahora sólo necesitamos mandarle llamar cada que el enemigo colisione con el jugador para hacer eso necesitamos
tener acceso a nuestro componente externo.
Te acuerdas.
Y cómo lo hacemos simplemente usando ket componentes entonces escribimos una nueva variable de tipo
Player y vamos a llamar Player y la igualamos.
Otro punto que Component y el componente que estás buscando es.
Luego checamos que Speller sea diferente Null usando If Player signo de admiración igual a null.
Así nos aseguramos de que el componente exista.
Y una vez hecho eso lo único que tenemos que hacer es escribir Player punto damas y cuando estamos mandando
llamar damas.
Lo que vamos a hacer es primero que nada restarle una vida a ese jugador y lo vamos a revisar si aún
tenemos vidas restantes en caso de que ya no tengamos bits restantes o que el jugador no tenga bits
restantes lo vamos a destruir.
Y bueno vamos a probar esto.
Vamos a correr el juego vamos a seleccionar nuestro jugador para bueno aquí podemos ver que en su variable
están un número tres y vamos a ver lo que pasa cuando colisión colisiona el jugador y el enemigo.
Aquí vemos que si el enemigo pasa sobre mi jugador entonces mis vidas son 2 y ahora solamente una.
Y ahora se murió.
Ahora lo que falta por hacer es que cuando el enemigo colisiona con el jugador el enemigo debería destruirse
sin importar lo que pase.
Entonces vamos a nuestro script de hoy y en el otro entre al final de toda nuestra lógica después de
que dañamos al jugador.
Vamos a escribir aquí.
Disney.
10.
Vamos a probar de nuevo.
Lo que vas a ver aquí que está pasando es que mi jugador tiene tres vidas.
Voy a chocar con el enemigo el enemigo se destruye por completo y yo tengo dos vidas.
Así que muy bien.
Ahora tenemos un sistema de vidas para nuestro jugador y ya tenemos bien configurado nuestra colección.
Nuestra detección de colisiones tanto con el jugador como con el láser.
Ahora hace rato nos dimos cuenta de que había un problema con nuestro disparo triple nuestro disparo
triple por alguna razón no estaba afectando a nuestro enemigo y vamos a ver vamos a ver por qué está
fallando.
Y bueno para empezar hay que arrastrar nuestro disparo triple-a hacia la escena y vamos a revisar sus
propiedades.
Aquí podemos ver nuestro script de láser.
Podemos ver que el sortilegio está en folre lo cual es correcto.
Sin embargo te puedes dar cuenta de que estos objetos estos objetos de adentro no tienen ningún color.
Entonces eso es lo que está pasando.
Por eso no funciona.
Si la comparamos con nuestro primer sencillo nos podemos dar cuenta de que adentro tiene un box box
con aires.
Y además tiene un Riddle.
Entonces vamos a hacer lo mismo para los tres objetos que están dentro de nuestro disparo triple.
Seleccionamos los tres al mismo tiempo y damos clic en componer.
Buscamos box y debería disgregarse automáticamente y debían de estar correctamente configurados.
Revilla que se ve bien en la escena también se ha querido dar un ritual ituri y cuando lo haga revisa
que el Gravity esté configurado en cero.
Vamos a borrar nuestro disparo triple de la escena y vamos a salvar la escena.
Vamos a probar.
Voy a arrancar el juego y rápidamente voy a tomar mi powervr de disparo triple y debería estar funcionando
ahora pero aún no está funcionando.
Vamos a revisar por qué está pasando esto y otra cosa que me acabo de dar cuenta es que aquí en la jerarquía
estamos viendo un montón de clones de disparos.
Esto no debería estar pasando porque se van a quedar aquí para siempre.
Lo voy a probar otra vez lo voy a correr de nuevo para ver qué está pasando.
Necesito analizar qué está pasando.
Si yo disparo veo que mis clases simplemente atraviesan al enemigo así que vamos a revisar qué está
pasando.
Primero revisamos al enemigo y seleccionamos vemos que si tiene un box Turi que está configurado como
un thriller.
Además está el sorteen offshore lo cual es correcto.
Ahora vamos a revisar nuestro disparo triple.
Vamos a restaurar la escena.
Lo que me acabo de dar cuenta es que ha cometido un error de novato porque cuando yo agregué mis componentes
hace rato a mi tripulación no apliqué mis cambios.
Entonces vamos a tener que hacerlo de nuevo vamos a seleccionar los tres objetos vamos a crear un billete
para 12 y un colador box.
2.
No no vayas a olvidar poner o configurar el que lencero ni tampoco vayas a olvidar seleccionar el check
box instruirá.
Una vez hecho todo eso simplemente selecciona y haz clic en el botón Play.
Vamos a borrarlo vamos a salvar y vamos a correr en un juego.
De inmediato voy a recolectar mi web de disparo triple y ya debería funcionar pero aún no funciona.
Entonces por qué mi disparo sencillo si funciona y mi disparo triple no está funcionando.
Entonces vamos a revisarlo.
No vamos a arrastrar el primate al entrar en escena.
Puedo ver que la posición está correcta y vuelvo a poner en cero cero cero mis objetos Lazer si tienen
un ripari y si tienen un box.
También están en la capa folguera.
Entonces por que no está funcionando.
Bueno vamos a ver si ustedes pueden descifrarlo.
Ya sé que acabo de revisar mi disparo triple está correctamente configurado.
Sin embargo yo sé que hay una diferencia entre mi disparo sencillo laser y disparo triple y lo que pasa
es que mis tres lasers dentro de mi disparo triple no tienen el track que le asigne a mi disparo sencillo
clásico.
Si lo recuerdas en nuestro sistema de detección de colisiones estamos checando que el otro objeto tenga
ctag.
Ahora si seleccionamos los 3 objetos les aplicamos ese tag salvamos y corremos de nuevo el juego voy
a activar mi disparo triple y deberíamos de ser capaces de destruir.
Y ahí lo tenemos ya podemos destruirlo usando nuestro disparo triple.
Y ahí tenemos nuestro disparo triple ahora está funcionando.
Pero ahora lo único que tenemos que hacer es limpiarlo de nuestra escena porque si se fijan aquí están
acumulándose los disparos triples.
No se están destruyendo nunca.
Y eso se arregla de una forma muy fácil.
Vamos a ir a nuestro script Deleuze y aquí donde estamos revisando si el transforma punto a punto es
mayor o igual a 6 y estamos destruyendo el objeto.
Vamos a tener que agregar una sentencia más en la que vamos a destruir al objeto padre de este objeto.
Y para hacerlo primero necesitó revisar si este objeto láser tiene un padre si lo tiene.
Entonces lo voy a destruir y para eso es voy a escribir un nuevo gif que va a decir y Transform es diferente
de Nul.
O sea que si tienen un padre porque nuestro hijo del triple disparó todos nuestros Lazer son hijos de
un objeto vacío.
Si ese es el caso entonces necesitamos escribir aquí.
Display hay un punto en que el papá de los tres lasers vamos a salvar esto.
Eso debería de limpiar la escena porque ahora está destruyendo al padre de los tres lasers y también
en el escrito de Enemy.
Necesitamos revisar algo muy similar porque aquí estamos destruyendo el.
Pero necesitamos saber si ese láser que está colisionando.
Tiene un padre para saber si es el hacer es un disparo triple.
Entonces que necesitamos hacer algo muy similar simplemente voy a revisar si el objeto tiene un padre
y para eso voy a escribir y poder Transform toparan es diferente.
Entonces lo que voy a hacer es destruir lo voy a escribir display o de Transform.
Ahora esto muy probablemente no funcione y creo que necesito extenderlo un poco más y decirle que destruya
a alguien.
De hecho entonces voy a poner aquí punto que íbamos a ir para ver si algún error.
Pero parece que no. Parece que sí puedo destruirlos usando su componente Transform.
Pero es simplemente para mantenerlo consistente y recomiendo que siempre se use el óptico siempre estrellas
del mismo.
Entonces haremos lo mismo en nuestro script láser vamos a destruir un punto que sólo para ser más específicos
entonces vamos a probar esto.
Veo que el juego va a disparar triple y ya está activado y vamos a disparar y efectivamente ya se está
limpiando muy bien.
Espero que hayan aprendido algo.
Los veo en el siguiente vídeo.