Crear Juego de Plataformas 2D con Unity – Curso Completo

Como crear un juego de plataformas 2d con unity y c#
Descarga los assets: https://datadosis.com/datasets/#unity
Linea de Tiempos:
== Introduccion ==
00:00 Juego Plataformas 2D
00:54 Importando Assets

== Jugador ==
03:33 Preparando Jugador
08:38 Sorting layers
12:09 Fisica del jugador
15:25 Primer libreto
17:46 Movimiento del Jugador
23:53 Salto
28:48 Mejorando Movimiento
32:28 Arreglando Salto infinito
38:31 Doble salto
40:03 Animando personaje
42:37 Mas animaciones
44:22 Vinculo de animaciones
48:28 Programando animaciones
51:27 Rotando jugador

== Camara ==
54:20 Controlando Camara
56:57 Efecto paralax
01:02:11 Camara vertical
01:05:26 Efecto paralax vertical

== Nivel ==
01:09:02 Creando tile palette
01:10:53 Dibujando un nivel
01:13:50 Prefabs
01:15:42 Agregando espinas

== Vidas ==
01:17:29 Sistema de vidas
01:19:19 Danando al Jugador
01:20:39 Espinas quitan vida
01:22:44 Mostrar vida en UI
01:25:55 Actualizando vida en UI
01:31:18 01:31:18 Evitar vida negativa
01:31:47 Corazones medios
01:33:48 Invincibilidad
01:37:04 Visual de Invincibilidad
01:41:17 Knockback
01:46:39 Animaciones

== Checkpoints ==
01:50:52 Creando checkpoints
01:54:17 Controlador checkpoints
01:59:06 Guardar posicion de jugador
02:00:41 Respawn en checkpoint
02:04:48 Respawn con toda la vida
02:05:27 Zona de muerte

== Coleccionables ==
02:07:40 Recolectando gemas
02:12:22 Pickup de vida
02:17:14 UI de gemas

== Efectos ==
02:21:51 Efecto pickup
02:26:45 Efecto de muerte

== Enemigos ==
02:31:26 Creando primer enemigo
02:36:50 Configurando movimiento del enemigo
02:39:56 Movimiento del enemigo
02:43:20 Agregando pausas
02:48:06 Animacion movimiento del enemigo
02:51:39 Mejorando animacion
02:53:05 Matando enemigo
02:58:40 Salto al golpear enemigo
03:00:03 Enemigo chance de botar pickups
03:02:48 Enemigo hace dano

== Audio==
03:07:06 Efectos de sonido
03:10:59 Agregando mas efectos de sonido
03:14:38 Mejorando efectos de sonido
03:16:43 Agregando musica

== Menu principal ==
03:19:52 Creando menu principal
03:24:50 Funcionalidad menu principal
03:29:29 Menu de pausa
03:32:51 Controlador menu pausa
03:39:55 Arreglando tiempos menu pausa
03:43:31 Transicion
03:52:42 Arreglo botones menu pausa

== Fin de nivel ==
03:53:30 Creando level ending
03:57:20 Logica de level end
04:06:48 Terminando level end

== Creando niveles ==
04:09:17 Level pack reusable
04:16:54 Creando seleccion de niveles
04:22:19 Puntos del mapa
04:27:18 Movimiento entre puntos
04:36:48 Movimiento de camara
04:41:14 Camara en level select
04:45:37 Cargando niveles
04:55:16 Bloqueando niveles
04:56:49 Desbloqueando niveles
05:00:47 Nombre de niveles
05:07:31 Mostrando gemas y tiempo
05:17:40 Guardando tiempo y gemas
05:21:16 Guardando los mejores tiempos
05:25:16 Medallas
05:30:19 Regresando al map point
05:35:11 Cambiando musica al ganar
05:36:53 Boton de continuar

== Plataformas ==
05:41:42 Plataforma movible hacia un lado
05:44:42 Plataforma movible
05:50:21 Adhiriendo jugadora plataforma

== Mas Enemigos ==
05:53:40 Enemigo Volador
05:59:01 Rotando enemigo volador
06:00:41 Aguila ataca jugador
06:10:58 Aguila hace dano

== Mas Plataformas ==
06:12:37 Bouncepad
06:18:09 Switch para puertas

== Jefe ==
06:24:07 Preparando animaciones del jefe
06:31:05 Controlador jefe
06:36:05 Maquinas de estado
06:38:03 Jefe recibe dano
06:39:19 Logica de movimiento
06:43:17 Conectando animaciones
06:45:26 Creando balas
06:48:22 Jefe dispara balas
06:50:38 Jefe recibe dano
06:55:14 Creando mina
07:03:45 Removiendo minas
07:05:42 Vida del jefe
07:11:11 Colision con jefe
07:13:31 Audio pelea con jefe
07:18:52 Activar pelea

== Despliegue ==
07:18:52 Despliuegue del juego

——————-TRANSCRIPCIÓN——————

En este curso te voy a enseñar cómo crear un 2 de platform er estilo mario vamos a hacerlo desde cero y vamos a hacerlo utilizando juniti va a ser muy divertido porque durante todo el curso vas a aprender todas las técnicas necesarias para que puedas crear tus juegos con 2d vas a aprender a mover al personaje vamos a crear enemigos vamos a.

Crear niveles desde cero y vas a ver que es muy sencillo hacerlo vamos a crear una pelea contra un jefe y vamos a crear muchas mecánicas de juego que son muy divertidas vas a aprender cómo darle vida a tu juego y vas a aprender muchas técnicas que estoy seguro que te van a ayudar en tu proceso para crear videojuegos.

Entonces con todo eso dicho nos vemos al otro lado estoy disponible 24/7 para responder cualquier pregunta duda o pregunta que tengas o problema entonces con eso dicho nos vemos al otro lado vamos a empezar creando nuestro proyecto de tu de plataforma vamos a utilizar el unity 2019 la versión lts vamos a los proyectos en el unity hub.

Acá arriba le damos a seleccionar nuestra versión y podemos crear el proyecto vamos a hacer un proyecto 2 te voy a ponerle tu de plataforma escoge dónde quieres guardar el proyecto y darle a create vamos ahora a importar nuestros assets acá tengo el archivo te voy a dar este mismo archivo para que.

Puedas descargarlo así que chequea los recursos de este vídeo vas a tener para descargar este archivo que vamos a importar ahora así que mantenernos cerca en tu escritorio para que lo puedas jalar una vez que se abra y unity apenas le damos a crear nuestro juego se abre y unity entonces así es como yo tengo y unity acá tengo la jerarquía acá.

Arriba en layout puedes escoger cualquier layout que tengas por ejemplo si le das a tu vice free se va a ver de esta manera todo es cuestión que escojas el layout que quieres usar yo tengo el mío de acá que siempre uso lo tengo de esta manera porque acá tengo siempre acceso rápido a la jerarquía y el inspector y acá abajo los proyectos.

Entonces ubiquémonos en el proyecto acá abajo donde vamos a importar los paquetes que mostré anteriormente el archivo que estaba acá en el escritorio este archivo lo vamos a jalar acá para importar todo lo que vamos a usar en el curso así que dalia import y acá tenemos los assets vamos ahora a ver lo que tenemos abramos este folder y.

Acá tenemos una escena con la que vamos a empezar trabajando acá vamos a poner a nuestro personaje y podemos desarrollar el personaje más adelante vamos a empezar a trabajar y crear nuevos niveles esto es perfecto para empezar ahora muy bien ahora otra cosa que queremos hacer es venir acá a game así es como se.

Va a ver el juego cuando jugamos entonces algo que yo siempre hago es que entonces algo que tenemos que hacer es cambiar el aspecto de fría aspect tienes que definir cuál va a ser el tamaño de la pantalla del juego tienes que definir acá siempre le pongo 1920 x 1080 si no tienes esa opción dalia mars y selecciona fix resolution y acá le.

Escribes 1920 x 1080 le pones un nombre y acá tienes para decir ambos de estos son los mismos en mi caso eso hace que tu juego se vea que mantenga siempre el mismo la misma proporción en la pantalla y con eso estamos listos para pasar al próximo vídeo.

Empecemos ahora trayendo a nuestro jugador así que vámonos a nuestro proyecto en el asset vamos a abrir el tutti platform en assets vamos a graphics y acá tenemos a nuestro jugador ahora estamos trabajando encima de la escena starter sin vamos a crear nuestra propia escena a base de esta escena así que vamos a decir a file.

Vamos a darles 6 bass things podemos decir test y así tenemos nuestra escena aparte donde vamos a hacer todo el testing ahora trabajemos con el jugador acá tenemos el jugador vamos a empezar con el jugador en el estado de idol o sea en el estado de estar parado sin hacer nada movemos el jugador a la escena y no tenemos el.

Primero el problema que tenemos nota que el jugador es muy chiquito en base a la escena y eso es porque los píxeles del jugador todavía no han sido configurados correctamente entonces voy a cerrar acá el jugador volvamos a hacer clic en el pliegue haedo en el proyecto y acá en el inspector vamos a prestar atención a píxeles premium y cada uno de estos.

Cuadros estos cuadros de acá ahorita con este setting estamos diciendo que cada uno de estos cuadros tenga 100 píxeles pero eso es mucho para este jugador así que vamos a decirle 16 démosle a apply muy bien ahora hallemos el proyecto y puedes ver que cuando jalamos al jugador lo tenemos de este tamaño ahora fijémonos en el jugador y se ve muy mal.

Se ve demasiado blair y tenemos que quitar esa distorsión de imagen entonces hagamos clic en el play idol de nuevo y fijémonos en acá donde sale filter mode vamos a darle a point con know filter dale play nota cómo cambia la imagen se han puesto atrás vamos a moverlo acá para que lo podemos ver luego vamos a.

Hacer para que esta imagen esté encima de todos estos otros sprites en el en la escena pero fíjate que ahora en el fox el zorro fíjate ahora el jugador tiene mejor imagen ahora otra cosa que vamos a hacer es de nuevo dar click en play to y el sistema de compresión está en normal quality vamos a darle a no darle a play y volvemos a ver a nuestro jugador.

Podemos sacarlo acá en jalarlo de nuevo apenas le damos al play nota que parece que el jugador no está pero todo lo que ocurrió es que se fue a la parte de atrás de el background entonces vamos a arreglarlos sorting layers las capas sorting más adelante acá podemos ver el order in léger vamos a hacer eso en el próximo vídeo pero.

Ahora nuestro zorro por al momento se está viendo mucho mejor ahora tenemos otro problema y es que en la imagen tenemos cuatro zorros solamente queremos uno así que vamos a borrar acá en la imagen voy a volver a dar clic acá en play iron y voy a decir que el sprite no es de múltiples.

Después de darle múltiple tenemos que hacer el recorte así que vamos a darle sprite editor vamos a darle a play y acá tenemos que cortar la imagen para que podamos tener nuestros cuatro zorros por separado tenemos un par de maneras de hacer esto una sería dándole acá en slice automatic slice.

Y es lo que vamos a hacer si le das click sin embargo nota cómo se está haciendo el recorte este recorte es muy pequeño para poder animar la imagen así que tenemos que hacer un recorte mejor controlado vamos a darle a automatic pero en vez de automatic vamos a decir green bay es el 6.

Decimos read vice el 6 y ahora no está acá el tamaño está en 64 x 64 y eso es muy grande para esta imagen acá no se está dando un hit nuestra imagen es de 132 x 32 lo que significa que en vez de usar 64 por 64 podríamos trabajar con 32 por 32 para tener una mejor imagen vemos la slice y acá ya tenemos algo mucho mejor pero ahora no está en nuestro.

Próximo problema acá tenemos un espacio y esto va o que va a ocasionar problemas cuando vayamos a animar esta imagen así que vamos a darle acá en padding de 1 démosle a slice y acá nota que se ha hecho un espacio de 1 después de haber hecho cada recorte y eso ahora sí nos ha puesto correctamente las imágenes y eso ahora sí nos da correctamente lo.

Que queremos una vez que tenemos el slice incorrecto vamos a darle a la play ahora que tenemos este slicing podemos venir a cada playa jairo y tenemos el jugador en el primer estado de estar idol y ahora si podemos trabajar a nuestro jugador pasemos entonces el próximo vídeo habrás notado que al momento de.

Manipular nuestro sprite de player iron en el vídeo anterior este cuando lo movemos a la escena parece que desaparece pero es solamente se debe a que se encuentra en la parte de atrás así que cómo hacemos para arreglar esto primero veamos de qué está compuesta a nuestra escena tenemos acá el background.

Vamos a cambiar el nombre de nuestro player leía y ahora veamos que tenemos tenemos nuestro background en este caso es la cosa celeste el background dentro del background tenemos diferentes texturas podríamos decir que.

Esta es la parte de atrás luego tenemos el nivel en sí que podría ser el mundo entonces le podríamos decir world y luego tenemos al jugador el player cada uno de estos estos acá tenemos tres objetos uno dos tres cada uno de estos tiene un léger distinto una capa donde así podemos decir que cappa viene.

Primero y así podemos mostrarlas para hacer esto tenemos que darles un tag de acá para acá puedes ver tenemos players tenemos tags vamos a darle al tax short ingle years entonces tenemos para agregar taxi layers vamos en este caso agregar sorting lakers vamos a darle al más.

Y el primer nombre que voy a crear es el de background como dijimos vamos a darle a este background un layer luego vamos a darle un background al mundo que son las plataformas en sí entonces vamos a darle a cada más y vamos a crear el mundo y también vamos a crear para el jugador vamos a decir player ahora cómo funcionan estos layers.

Tenemos el mundo el background el mundo y el jugador este objeto del background es lo que más atrás queremos que esté esto es el este así que lo ponemos bien atrás o sea bien arriba y luego lo otro que queremos que siga va a ser el mundo lo podemos dejar ahí y lo siguiente va a ser el jugador de hecho el mundo va a estar encima de default.

Porque cualquier cosa que creemos yo quiero que esté encima del mundo pero el jugador quiero que esté encima de todo así que lo dejo abajo ahora con estos con esta jerarquía tenemos que asignar la a cada uno de estos objetos vamos a nuestros sprites tenemos a cada uno de estos sprites que tenemos el sprite render para este.

Objeto vamos a decirle acá en surfing de ayer el background pertenece al vejez y ahora empieza acá a mostrarse vamos a ver el menú también pertenece a vejez y ahora todo el background la parte celeste y agarro buen contexto ya tenemos background asignado ahora hagamos el mundo tenemos acá esto y esto.

Y a través del sim pulse tabla de la que tenemos el sprite render del mundo vamos a decir acá sorting layer world finalmente el jugador acá el sprite del jugador vamos a decirle player muy bien con esto ahora si tenemos al jugador encima de todo y así funcionan los sorting layers vamos a agregarle física a nuestro jugador ahorita si le.

Damos play al juego nada ocurre acá tenemos el game nada ocurre vamos a hacer que el jugador tenga física vamos a ubicarnos primero en la jerarquía acá arriba vamos al player y vamos a darle al componente y vamos a agregar un cuerpo rígido vamos a poner reed patti vamos a como estamos trabajando con un juego 2d vamos a poner.

Brick podidos de el cuerpo rígido nos permite darle la física al juego la física que unite y calcula a través de sus libretos nota como ahora voy a poner al jugador acá arriba y voy a dejar todos los parámetros como están voy a darle a play y el jugador ahora tiene física pero está traspasando el nivel yo quiero que el jugador pueda.

Hacer colisiones con el nivel así que al jugador le falta hacer colisiones vamos a agregar un componente y vamos a poner con leader y acá tenemos todos los colíderes 2d para filtrar los dos le podemos decir con la virtud y la casta vamos a usar para poder definir al jugador un capsule colíder cuando trabajamos jugadores es mejor usar el.

Cap su colíder en vez del box colíder porque cuando estás por ejemplo bajando escaleras subiendo ambientes en pendiente es mucho mejor hacer todo como un capsule colíder se ve mucho mejor así que evitemos este con líder para que se vea bien primero voy a sacarlo el jugador de acá dándole clic y moviéndolo para que podamos ver mejor lo que.

Estamos haciendo ubiquémonos saca el capsule colíder está a la derecha vamos a editarlo dándole click acá y podemos editar el capsule colíder de esta manera ahora donde le explica player cuando le di click se salio voy a volver a darle click a editar y podemos seguir editando el colíder nota cómo se mueve el colíder.

Entonces podemos ubicarlo donde queremos muy bien ahí tenemos nuestro capsule con leader ahora que tenemos definido nuestro capsule con leader vamos a volver a dar click acá para definirlo démosle a play y fijémonos acá abajo nota como el jugador cae y ahora si se para pero ahora fijémonos en otro.

Problema que hay voy a mover al jugador para ubicarlo acá voy a dar la play y nota como el jugador cae y ahora vamos a ubicarlo bien voy a ponerlo acá y voy a dar la play el jugador cae y se balancea para la derecha o la izquierda la rotación en z está ocurriendo y no queremos que ocurra eso.

Entonces acá en el ridgewood y en constraints vamos a darle click y vamos a darle freeze rotation z así nuestro jugador ya no se va a balancear en el eje z va a estar parado nota que el capsule colíder hacia eso ya no entonces ahora si va a funcionar muy bien vamos a crear nuestro primer libreto.

Este libreto va a controlar el movimiento de nuestro jugador cuando nosotros presionamos las teclas que queremos en el teclado entonces ubiquémonos en nuestro proyecto acá abajo vamos a dar clic en act para regresar a los folders clic derecho create y vamos a crear un nuevo folder donde vamos a guardar todos nuestros.

Libretos vamos a llamarlo scripts haciendo referencia a los libretos abramos el libre el folder de scripts clic derecho y vamos a crear nuestro primer libreto si sabes script vamos a decir player controller este player controller va a ser el libreto que va a controlar al jugador démosle clic y ahora en el player cuando damos click.

En el player controller acá podemos ver el contenido del play control de nota que no puedes cambiar el nombre de un libreto desde acá cuando cambias cuando defines un libreto se crea esta clase que es la clase que tiene que también ser la el mismo nombre que el libreto en sí si esto no es lo mismo que esto no va a.

Funcionar el libreto así que los nombres tienen que ser similares si lo cambias acá el cambio no se va a hacer acá no está eso así que tenemos nuestro libreto vamos a asignarlo al player vamos a jalarlo y jalar loca como agreguemos lo como componente tenemos el player control ver para abrirlo ubiquémonos acá donde sale script y hagamos dos clicks.

Lo primero que voy a hacer es hacer zoom para que puedas ver bien todo lo que vamos a escribir en un libreto tenemos dos funciones esto esto siempre ocurre cuando trabajamos con software y con videojuegos tenemos funciones que corren cuando recién corremos el libreto y una función que corre cuando.

Pasa cada segundo cada cuadro en el juego entonces tenemos el update y el start acá vamos a poner el código que queremos ejecutar al inicio y acá ponemos el código que queremos ejecutar perpetuamente mientras este libreto está activo en la escena así que podemos guardar nuestro libreto y ya estamos.

Listos para pasar el próximo vídeo donde empezaremos a mover el jugador a través de este libreto muy bien ahora vamos a empezar a definir el movimiento de nuestro jugador primero te voy a explicar rápidamente el libreto acá tenemos los paquetes que usamos cuando programamos nota este de iun y tianjin este nos.

Ayuda a poder trabajar todo lo que es las funciones de unity gracias al mono behavior entonces eso es importante cada libreto que se crea en forma de una clase es una clase pública lo que nos permite acceder a diferentes libretos y el mando acá a player controller ahora vamos a definir primero la velocidad de movimiento de nuestro personaje así que.

Vamos a crear una variable esta variable va a ser un cloud vamos a decir public cloud y vamos a decir move speed será el nombre de nuestra variable cuando definimos una variable pública esto nos permite poder acceder a la variable a través del libreto que se encuentra como componente en el objeto del jugador acá tenemos acceso al mus.

Speed podemos decir 7.5 por ejercer la velocidad de nuestro jugador que hemos declarado ahora vamos a también acceder a nuestro cuerpo rígido tenemos acá un componente que es el cuerpo rígido que le da la física al jugador que debemos poder acceder a ese cuerpo rígido para darle movimiento así que vamos a crear un acceso a ese componente vamos a decir.

Public y era un rey y de bollywood y vamos a decir ritmo de tu di y le damos nombre a nuestro cuerpo rígido vamos ahora a definir nuestro cuerpo rígido éste se encuentra acá en el player es el jugador el que tiene el cuerpo rígido esta es una manera de llamarlo y otra manera es simplemente.

Desde acá jalarlo así volvemos acá libreto ya hemos definido nuestras dos variables que nos permiten trabajar la velocidad del jugador conforme lo queremos mover vámonos al update donde vamos a hacer el movimiento vamos a decir trichet body y vamos a acceder a una variable de los cuerpos rígidos y esta es velocity nos permite acceder a.

La velocidad de los cuerpos rígidos no está acá en grid it body info velocity estamos accediendo a la velocidad acá tienes acceso a todo esto si quieres inercia velocidad angular velocidad rotación posición puedes jugar con todo eso vamos a acceder a la velocidad para poder manipularla entonces velocity va a ser.

Igual a new vamos a declarar un vector porque vamos a trabajar con los ejes de x e y el movimiento se hace en los ejes x y no está en el info k velocity ejes x e y y eso significa que tenemos que trabajar con un vector to y que acá voy a poner vector to y voy a abrir paréntesis donde vamos a primero definir la velocidad de nuestro jugador en base.

A qué cosa y ese qué cosa va a ser el input de nuestro mouse así que vamos a multiplicar move speed que es la velocidad de nuestro jugador vamos a multiplicarlo por el input de nuestro mouse eso significa un valor que va de menos 1 a 1 eso sí es que presionamos la tecla positivo o negativo que vamos a ver ahora entonces input.

Punto de taxis nos permite acceder al eje de nuestro teclado vamos a general vamos a acceder al eje de lo que sea que vamos a hacer como input en este caso estamos hablando del eje x y es por eso que usamos de taxis entonces entre comillas vamos a decir el eje horizontal que es el input horizontal eso significa la tecla a y de las teclas de izquierda.

Y derecha así que vamos a afectar el input de la equis todo esto que hemos hecho adentro de nota esto es el x el valor x del vector 2 ahora vamos a definir el valor y del vector 2 y ese no lo vamos a tocar porque estamos definiendo movimiento por ahora no salto así que dar brigitte body.

Punto velocity punto y así lo definimos ponemos punto y coma y ahora vamos a probar lo que hemos hecho ahora antes de ponerle play al juego vamos a ver acá esto input de taxis horizontal este horizon tool hace referencia al sistema de input de unity si venimos acá le damos a window y le damos en windows edit project.

Settings tenemos las configuraciones de nuestro proyecto dentro de esto podemos ver input manager vamos a darle clic a esta flecha y podemos ver nuestros inputs acá sale algo que dice horizontal entonces como nombre tenemos horizontal y acá no está el positivo botón es la derecha o sea.

Haciendo referencia a la tecla derecha de tu teclado y left es el botón negativo la tecla izquierda el botón positivo va a ser un valor de más 1 y el negativo menos uno y cuando no tocas nada está en cero alterio y de otra manera si quieres también acá tienes el alt botón y en este caso va a ser el botón a y el botón.

De osea puedes usar el teclado de la manera de doble a sd o con las flechas si quieres de suelo horizontal y de la misma manera tienes el vertical o con el down op y esto se llama el input manager de unity te recomiendo que lo explores bastante porque tienes varias teclas del teclado con las que puedes jugar vamos a.

Usar varias de estas entonces hover son talud ya sabes de dónde viene ese horizon tal vamos a darle play y vamos a presionar las teclas del mouse y puedes ver que tenemos movimiento del jugador vamos ahora a refinar todo esto vamos ahora a saltar con el jugador así que vamos a acceder a nuestro libreto de player controller ya hemos hecho el.

Movimiento ahora vamos a hacer el salto así que ubiquemos los primeros en nuestras variables acá arriba definamos la variable para el salto algo que me gusta hacer es siempre mantener el inspector limpio así que acá tenemos a definir en definiendo movimiento esto es el muy speed y acá estamos definiendo.

Componentes el ritz body por ejemplo así que voy a definir todo esto con texto voy a decir acá header abrimos brackets así y este es el nombre de los componentes vamos a copiar acá y esto es movimiento vamos a definir el grado las variables de salto.

Salto porque tenemos fuerza de salto así que vamos a decir public flow jump wars para decir para definir la fuerza del salto champ force y ahora vamos a definir el salto vamos a usar esta variable en nuestro update vamos acá a la pdi y vamos a decir primero queremos de una manera detectar nuestra tecla de.

Salto cuando presionamos salto así que usamos un statement para esto una declaración if igual como hicimos acá el input get axis no vamos a usar el de taxis en este caso en este caso estamos llamando un botón así que vamos a decir input punto get botón entonces es el botón tienes nota acá diferentes opciones para que botón.

Puedes usar el botón down botón up get botón botón down significa cuando presionas el botón botón up significa que la acción va a correr cuando sacas el dedo del botón y botón significa que la acción corre desde que presionas el botón hasta que sacas el dedo en este caso queremos que se registre cuando solamente presionamos.

Así que qué botón down botón down y como vimos en el input manager tenemos horizon tal y también tenemos jump así que acá en el player settings voy a volver a abrirlo y voy a dejarlo abierto en project settings yo siempre lo ancló acá tenemos input manager y tenemos jump la tecla space así que vamos acá y ya sabemos de dónde viene lo que vamos a.

Declarar ahora yo decimos que si presionamos jump vamos a correr una lógica y la lógica va a hacer que el reading body punto velocity va a ser igual y acá arriba manipulamos la equis ahora en este caso queremos manipularla y así que voy a copiar de regis body punto velocity y acá voy a declarar primero el.

Nuevo vector new vector to y queremos decir que la equis no va a ser tocada así que igual como hicimos con la guía acá arriba decimos que la equis va a ser manipulada por esto pero la gent va a ser afectada por gran force que es el flow que declaramos arriba nota que es un flow de lo que estamos usando cuando le das un input a.

Un vector dos leds se lo tienes que dar como flow así qué tan fuerte es lo que vamos a usar para esto vamos a guardar y vamos a darle play para ver que hemos hecho nota que le doy a espacio y no ocurre nada es porque tenemos que venir acá player vamos al inspector y vámonos a acá abajo tenemos que decir.

Cuál es la fuerza de salto vamos a darle una fuerza de salto de 5 por ejemplo vamos a dar la play entonces salto con cinco y nota cómo es la fuerza de salto pero la fuerza de salto también puede verse afectada por él más de acá así que qué pasa si le pongo 0.5 en la masa en el brigitte body vamos a ver.

Entonces es un poco más ligero así que jugando con esto puedes obtener esos resultados también podemos darle más champú que podemos decirles 10 y tenemos el doble de salto así que juega con esto porque tienes varias cosas importantes y divertidas como angular drive linear drive todo.

Esto es física así que ponte estudiarlo también puedes manejar la inercia si quieres controlar la inercia en movimiento entonces eso es el salto sigamos trabajando el movimiento de nuestro personaje ahora que nuestro personaje está saltando y moviéndose veamos cómo se.

Siente acá ubicamos la vista nota que apenas empezó el juego del personaje se fue abajo por un medio segundo y luego regreso cuando salto esto también ocurre primero voy a editar el salto del jugador que está muy fuerte vamos a ponerlo en 5 y cuando salto nota que el jugador cae abajo por un medio segundo y luego sube dónde tiene.

Que ir ahí ocurrió siempre ocurre entonces eso ocurre porque el sistema de unity cuando está detectando la colisión el cuerpo rígido está detectando la colisión y cuando detecta que no debería estar ahí es que le dice el jugador que se quede acá siempre para evitar eso lo que tenemos que hacer es venir al cuerpo rígido acá y decirle que el colisión.

Detection en vez de ser discrete sea continuos eso va a arreglar ese problema vemos la play y ahora cuando salto ya no ocurre eso ahora lo siguiente que tenemos que arreglar va a ser lo siguiente que arreglaremos será el material que nuestro jugador está usando nota que al movernos vamos a movernos.

Por acá fijémonos acá el jugador se queda atorado en la pared cuando estamos saltando y no queremos que eso ocurra así que para arreglar eso vamos a trabajar con el material del cuerpo rígido de nuestro jugador no el material de la cápsula porque es la cápsula la que hace la detección con.

El piso y la colisión así que en la capa para arreglar este problema vamos a trabajar con el material de la cápsula entonces vamos a nuestros assets acá nos ubicamos afuera clic derecho create y vamos a buscar estamos creando un physics nativo y el tutti vamos a darle aquí y vamos a decirle play llamativo.

Vamos a decir slip y porque vamos a hacer que la superficie sea slippery así que la fricción vamos a decir que es cero fricción también puedes hacerlo más bounds y si quieres para que rebote si quieres darle una pelota o algo así pero es un jugador no es una pelota entonces ahora la cápsula vamos a mover si limpia acá vamos a dar la play.

Y ahora cuando nos vamos acá no está ocurriendo nada así que ahí tenemos eso arreglado ahora nota el movimiento de nuestro personaje tenemos dos estilos de movimiento que podemos darle al personaje cuando saltamos nuestro personaje podemos moverlo así y también podemos hacer que el movimiento sea mucho más marcado nota.

Cómo estamos poniendo movernos como queremos fluidamente ahora vamos a salir de acá y vamos a nuestro libreto de movimiento y en vez de usar que taxis vamos a usar que axis row para poder detectar exactamente cuánto fuerza le estamos dando al movimiento de la tecla dw a ese de entonces no está ahora el movimiento es.

Mucho más marcado así que todo depende de cómo quieres que tu juego se sienta para lograr el movimiento que deseas estos son dos estilos de movimiento en los buddy platform ers a mí me gusta el otro voy a venir acá y voy a quitarle el brou vamos ahora a arreglar el salto infinito de nuestro personaje así que ubiquémonos.

En la función update donde vamos a hacer todo el código pero primero vamos a declarar primero declaremos variables para trabajar así que vamos a trabajar con detección de piso voy a empezar acá declarando el nombre de esta sección podemos decir ground.

Para poder detectar detectar el piso a grounded entonces tenemos nuestro header ahora vamos a declarar nuestras variables primero vamos a declarar un punto de nuestro jugador por ejemplo los pies que es el punto que va a detectar el piso y es exactamente lo que voy a decir acá público vamos a usar un transform.

Y vamos a decir round checkpoint ese es el nombre de la variable la variable es un transforma haciendo referencia a este componente de que se encuentra en todos los objetos de nuestra jerarquía ahora ubiquémonos en nuestro player que es al que le vamos a dar el ground direct point así que este es el pliegue vamos a darle acá clic.

Derecho create empty y vamos a ubicar esto en el piso acá exactamente dónde queremos que detecte el piso ahora ese es el transform que vamos a decir que va a ser el ground así que acá round con eso definido volvemos acá el libreto podemos ubicarnos acá en el libreto.

Volvamos primero acá así sharp y ya tenemos el transform no hemos guardado por eso no se muestra antes de guardar y definir nuestros objetos en el en el inspector tenemos que decir cuál es la máscara que va a decir el piso o sea acá tenemos diferentes lakers tenemos el water para definir qué es el agua y ahora vamos a crear un layer que.

Va a ser el piso así que vamos a agregar a cada leyes podemos decir que una capa es el jugador así que le decimos player otra capa va a ser el piso así que vamos a decir ground y con eso hemos definido las capas ahora volvamos a hacer clic acá en player ubiquémonos acá en sharp.

En dicho estudio y ahora digamos público léger mask y vamos a darle un nombre a nuestro piso podemos decir what is ground para decir que es el piso guardemos volvamos acá y en nuestro libreto ahora si se va a venir a cargo aun de ti podemos decir ground que podemos definir cuál es el piso del.

Ground con esto estamos definiendo nuestras variables ahora usemos estas variables con esto el jugador puede detectar el piso entonces acá en el update vamos a primero definir qué significa la variable y grounded así que vamos a decir y es ground es igual y vamos a crear un círculo en.

El piso exactamente en la posición que dijimos the ground checkpoint para hacer la detección de las máscaras y la máscara que vamos a querer detectar es esta máscara de acá así que vamos a decir is brown de punto physics to be punto creamos el círculo diciendo offer lab cerca.

Creamos un círculo y el círculo vamos a crearlo en la posición donde se encuentra el ground checkpoint y decimos punto posición para declarar eso vamos a dar una coma vamos a decir que el círculo va a ser del tamaño del punto 2 efe y luego vamos a indicar que queremos encontrar la máscara que es what is ground esto acá lo copiamos y la pegamos.

Acá punto y coma ahora y aun de vamos a declararlo acá arriba vamos a crear una variable booleana diciendo private bull round esta es la variable que va a decir que el jugador se encuentra o no en el piso.

Entonces estamos declarando cuando el jugador se encuentra en el piso y estamos usando las dos variables de acá the ground set point y what is ground así que con esto el jugador ya sabe cuando está en el piso podemos usar el is grounded como una lógica ahora así que adentro de nuestro salto que es el que estaba permitiendo que el jugador.

Haga el salto a través de esta línea vamos a decir que solamente podemos hacer el salto si estamos en el piso así que if it's grounded vamos a hacer el salto ahora con esto guardado guardemos y probemos nos falta primero asignar el piso hemos dicho que what it round es ground pero acá en el juego tenemos que.

Decir que a car ground con leader round con leader se encuentra en la capa del ground vamos a darle play ahora si cuando saltas intentas saltar 2 y no vas a poder entonces con eso hemos arreglado el problema de saltar muchas veces ahora vamos a agregarle un doble salto vamos ahora a crear el doble salto de nuestro personaje vayamos a ubicarnos en.

Nuestro libreto vamos a trabajar el doble salto así que definamos primero nuestras variables acá en salto voy a decir private y vamos a decir que podemos saltar doble o no a través de una lógica booleana vamos a decir private bull y vamos a decir kandavu lyon ahora ubiquémonos donde estamos haciendo.

Los saltos si estamos en el piso podemos saltar si no vamos a decir else si podemos hacer un doble salto vamos a acá hacer de nuevo aplicar la fuerza de velocidad que es lo que nos hace saltar y luego vamos a decir que el doble salto ya no se puede efectuar es igual a false entonces decimos que el doble salto es falso ya no podemos.

Volver a hacerlo lo que nos permite ya no saltar más de la cuenta pero ahora cuando caemos al piso como hacemos el doble salto se recete tenemos que dar una lógica que sea que si estamos en el piso if it's ground en que ocurre vamos a decir que podemos saltar doble así que cuando avulsión true y con esto tenemos para hacer un doble salto.

Vamos a presionar acá hacemos un salto doble y ya está cada vez que cae es el piso puedes hacer un salto doble y no puedes saltar más de la cuenta vamos ahora a darle animación a nuestro personaje ubiquémonos en nuestro player y primero tenemos que llamar la ventana de animación así que vamos a window animation y dale a animation cuando le.

Das a animation se te abre acá la ventana de animación a través de esta ventana vamos a poder hacer nuestras animaciones así que ubiquémonos acá en la escena vamos al player dale click y acá en animation vamos a darle a create animation vamos a decirle donde queremos crear la.

Animación así que nos ubicamos en nuestro fondo de assets voy a crear un nuevo folder va a ser animations y acá voy a decirle player dentro del player vamos a decir player idol que es la primera animación que vamos a crear ahora podemos regresar este ahora podemos mover el proyecto acá a la.

Derecha y de hecho voy a regresar el game cada bajo el animation se queda junto con el juego pero audio mixer y mi consola puede venir acá muy bien ahora que tenemos el proyecto a la derecha ubiquémonos ubiquémonos donde dice graphics vamos a nuestro jugador acá en player y cuando.

Hicimos el player idol recuerdas todo lo que hicimos todos esos recortes los hicimos para poder tener los cuatro etapas de un jugador estando idol tenemos acá cuatro diferentes píxeles tenemos cuatro diferentes imágenes cuatro sprites para poder agregar a nuestra línea de tiempo así que vamos a agregar primero la primera línea que es.

El jugador en iron 0 luego en él segundo 010 vamos a poner el segundo sprite en el segundo 0 20 ponemos el siguiente y en el 0 30 el siguiente veamos cómo se ve esto tenemos nuestro jugador ahí esperando moverse ahora cómo vamos acá nuestro sprite inicial de nuevo acá como.

Cuadro final y puedes ver que la animación se ve mucho mejor entonces con eso hemos creado la primera animación de player idol ahora nos falta crear la animación de correr y la animación de saltar así que te dejo como reto hacer eso y lo resolveremos en el próximo vídeo vamos a crear ahora las dos animaciones.

Que nos faltan vamos a darle play new clip vamos a hacer player run para poder correr así que ubiquémonos a donde ya estamos acá en el jugador y vamos a hacer acá player ground nota ya tenemos todo bien recortado para hacer nuestra vida más fácil vamos a jalarlo acá y vamos a hacer lo mismo que.

Hicimos solamente que la corrida del jugador ahora es con muchos más cuadros así que vamos primero a alinear todo vamos a ver cómo se ve entonces lo dejamos ahí le damos a play y ahí tenemos a nuestro juego a nuestro cop y ahí tenemos a nuestro jugador corriendo.

Recuerda la primera sprite volver a ponerlo al inicio para que se vea mejor ahora se siente mucho mejor a nuestro jugador corriendo tenemos el player round así que hagamos el nuevo player hay un plan y player jump cuando salta así que igualmente acá vamos a darle.

Player jump y vamos a jalar uno nota que cuando agregó estas dos animaciones se ve raro incluso cuando le ponemos aquí la tercera animación se ve raro cuando saltas puedes que te quedes moviendo los brazos así pero se ve raro así que voy a borrar estos dos.

Cuadros y voy a dejar solamente este cuadro así que esta va a ser nuestra animación de salto ahora que hemos creado estas animaciones vamos a hacer que se vinculen con el jugador y luego vamos a poder vincular las con el teclado para que todo esté animado conforme lo movemos con el teclado ahora primero queremos ubicarnos.

En el animador así que vámonos al window y vamos a animation y vamos a darle click a animator se va a abrir una ventana como éstas ahora vamos a ubicarnos en nuestro player que es el objeto donde nos pusimos a crear las animaciones gracias a que creamos las animaciones no está en el player se agregó un.

Componente llamado animator tiene un control del llamado player y es gracias a eso que podemos ver esto de acá tenemos las animaciones que hemos creado desde acá y sea automáticamente agregan al controlador de animación indicado player del plan y play and en el entry significa que cuando recién le damos a play vamos a darle play vamos al juego y.

Nota que el jugador está siempre en player idol cuando el juego recién empieza queremos entonces hacer una manera de poder hacer de pasar de haedo a correr y a saltar así que hagamos una transición de play idol a player round demos click en la transición y acá a la derecha vamos a darle a settings y tenemos condiciones y tenemos settings.

Primero vemos los settings exit time significa que la animación de éste empieza a correr la animación y antes cuando nosotros dejamos de presionar la tecla la animación va a seguir corriendo hasta terminar su ciclo este ciclo de acá entonces no queremos eso por eso no vamos a usar exit time.

Luego fix duration como estamos haciendo animaciones de sprites no vamos a usar clicks duration así que no hay fix duration y el transition es 0 ahora la condición para pasar de ireland vamos a darle más acá a la condición y nota que nos dice que no hay parámetros vamos a ubicarnos acá arriba en el animador y darle click a parámetros vamos al más y.

Vamos a crear un flood para decir move en speed move speed y vamos a crear también otro flow de paso va a ser este nueva su flauta vamos a hacer un bull y vamos a hacer es ground es cuando estamos o no en el piso y ahora con un speed vamos a decir acá en condiciones nota que como le dimos a más tenemos acá para escoger el mute speed vamos a pasar.

De aislar a correr con él muchos pide es mayor a 0.1 y ahora similar a lo que hemos hecho the run correr vamos a quitar exit time no hay fix duration y vamos a darle a 0 vamos a darle a más y el move speed tiene que ser menor a 0.1 con eso estamos diciendo que pasamos a jairo ahora jump hagamos una transición.

De correr de estar ahí de jump y vamos a decir que no hay axis time no hay nada de acá vamos a darle 0 y la condición va a ser is raw need is ground es igual a falso porque si no estamos en el piso estamos en el aire y ahora de jump acá lo mismo vamos a decir la condición que sea de es grau bde troupe para que pasar de saltar.

Al piso si es que estamos en el piso e igual con correr vamos a decir acá es ground the true y acá es grande es falso acá es de transición duration muy bien estamos listos para pasar al libreto donde vamos a manipular estos parámetros y así vamos a hacer que estos cambios que hemos hecho acá se efectúen no está acá que puse que amparan de.

Hecho no solamente cuando saltamos pasamos a cuando corremos queremos pasar a saltar pero si saltamos no importa eso vamos ahora a controlar estas animaciones a través del código así que vámonos a nuestro libreto y primero acá en las variables vamos a crear una zona para las animaciones así que vamos a.

Decir acá el título se va a llamar animator y voy a poner una variable privada vamos a decir private animator y le damos un nombre ahora nota que estamos usando una variable privada normalmente usamos una pública pero te voy a enseñar otra manera de acceder a.

Un animador oa cualquier otro objeto que quieras entonces en nuestro animator en la función start vamos a decir que anime es igual get component y con esto vamos a poder obtener el componente que queremos vamos a decir el animador que se encuentra en nuestro objeto que se encuentra el donde se.

Encuentra el libreto tenemos play controller sisap que es el libreto que está corriendo esta función acá entonces si nos ubicamos en nuestro player tenemos el libreto 2 y sharpe que corre la función de buscar en los componentes acá algo que diga animator y va a encontrar este entonces lo va a asignar como el valor de ánimo y esa es otra.

Manera de asignar un animador ahora que tenemos esto queremos asignar cuando saltamos is grounded y cuando nos movemos la otra variable de muffins speed para actualizar nuestras animaciones vámonos a nuestra función update y acá abajo de todos los que estamos haciendo vamos a decir que el valor de ánimo punto set flow y vamos a.

Decir que el flow que creamos de parámetro move speed acá vamos a decir move speed y estamos haciendo referencia en el animator al parámetro de speed estamos configurando ese set flow de como el valor absoluto así que vamos a decir más efe punto absoluto abrimos paréntesis y le vamos a pasar el valor del cuerpo rígido de su.

Velocidad en x así que del bid body punto velocity punto x con esto estamos pasando el valor de muchos pit vamos a pasar ahora el valor de la animación de set bullying es grounded así que ánimo punto set bull paréntesis abrimos acá comillas es grounded.

Coma y le vamos a dar el valor de dish ground que es este de acá arriba así que no tenemos que preocuparnos por declararlo con esto hecho guardamos y ahora vamos a dar la play empezamos en idol nos movemos y ahora nota que tenemos que arreglar cuando nos movemos a la izquierda ahora cuando estamos moviendo nuestro.

Jugador este no se está cambiando correctamente de posición entonces a la derecha va bien pero a la izquierda está haciendo el mundo wok así que vamos a arreglarlo para que cuando vamos a la izquierda nuestra imagen del spray drink the bear se haga un flip así que vamos a primero hacer una manera de.

Obtener acceso al componente de sprite render que es lo que nos permite dar los visuales del zorro entonces vamos a nuestro libreto arriba hagamos referencia al sprite prender así que lo voy a poner acá junto con el animator voy a poner private vamos a decir sprite render y vamos a darle un nombre es prender.

Alma ahora acá similar a como declaramos el animator vamos a declarar el sprite prender vamos a decir 10 ahora es igual a get component y le vamos a pasar el spray vender con esto estamos obteniendo el sprite vender ahora queremos afectarlo en el código.

Vamos a hacer una lógica que diga que si estamos con el eje x en positivo hacemos un flip y si no en negativo lo volvemos a hacer otro clip entonces ubiquémonos acá vamos a decir if there is it body punto velocity para poder medir si es positivo o negativo punto x es menor que cero vamos a entonces hacer que el sprite.

Render haga un flip dijimos que íbamos a hacer un flip de la imagen no está en el spray vender tenemos flip en x bien y así que estamos accediendo a flip en x así que vamos a decir flip x es igual a true para aprender esa booleana que hace que flip ocurra si no estamos con la velocidad menor a.

Cero entonces el shift en caso que la velocidad vamos a copiar acá sea mayor que 0 vamos a poner acá mayor que 0 si la velocidad es mayor que 0 entonces el flip va a ser falso entonces le ponemos acá en vez de true decimos falso porque es mayor que 0 así que vamos a ir a la derecha ya no tenemos que hacer flip probemos esto.

Derecha va bien y izquierda va bien ahora si tenemos el jugador que corre y se siente bien muy bien pasemos a el próximo módulo para seguir creando el juego ahora vamos a crear una cámara que sigue al jugador veamos ahorita cómo podemos hacer eso de la manera más simple no está nuestra cámara vamos a darle a game.

Nuestra cámara es lo que nos permite ver el juego acá abajo es todo acá el cámara voy a hablar lo del player hacerlo un objeto hijo un child object voy a darle play y si la cámara es un child object nota cómo se hace el movimiento podrías hacer esto pero no es muy bueno de hecho se ve no te permite hacer saltos buenos así que nosotros queremos controlar la.

Cámara de una mejor manera vamos a sacar la cámara de ahí esa es la forma más simple que puedes hacer para seguir el jugador con la cámara pero nosotros lo vamos a hacer con código así que vamos a mover nuestro proyecto vámonos a los assets vamos a los scripts vamos a darle clic derecho create secret vamos a decir camera.

Controller vamos a asignar el controlador de la cámara al objeto del main gamer entonces acá tenemos el camino controles vamos a abrirlo y ahora vamos a designar primero un objeto que va a ser un transform iba a ser el objeto que la cámara va a seguir o sea el jugador vamos a decir.

Public transform target y este es el objeto que vamos a seguir o sea el jugador y el jugador que vamos a hacer vamos a decir que el transform posición de la cámara va a ser igual al new vector 3 asignado por el jugador vamos a decir target punto posición en el eje x y el.

Eje y el eje z los vamos a dejar así como están así que vamos a decir transform y punto position punto y transform punto position z decimos x y z porque estamos trabajando con un vector 3 en este caso con la cámara es por eso que decimos sector 3.

Así que vamos a darle a play tenemos que asignar del el target tenemos que jalar el player vamos a hablar a play y no está el movimiento ahora como lo estamos haciendo al saltar la cámara ya nos permite hacer un mejor movimiento sigamos trabajando entonces con la cámara veamos la cámara que tenemos hasta ahora.

Entonces vamos a darle play y ahora nos movemos y no está en la parte de atrás el background mientras nos movemos nada se está moviendo y de hecho si nos movemos acá podemos ver el la cosa azul y también si nos movemos a la derecha tenemos un mundo que se ve muy plano así que vamos a hacer que el fondo de.

Pantalla celeste que tenemos atrás lo podamos jalar con nosotros y así vamos a crear un efecto para la chs es por eso que tenemos acá en el background tenemos el funk y tenemos el miedo el para que lo celeste y el miedo es lo verde lo que queremos hacer es que el funk se mueva a la misma velocidad que el jugador para crear el efecto que la.

Parte celeste se está moviendo con nosotros pero queremos mover el miedo de manera más lenta para poder crear el efecto que todo se está moviendo pero que estamos corriendo ya que la parte de atrás se está moviendo más rápido que la parte de adelante vamos a crear el mismo efecto que se crea cuando estás en un carro moviéndote.

Y estás mirando el paisaje así que para hacer eso tenemos que asignar el faro y el miedo a la cámara y decir y cambiar la distancia en la posición así que vámonos a nuestro libreto de la cámara abrimos el cámara controller y acá vamos a asignar un par de variables vamos a decir public transform y vamos a asignar el background de atrás.

Y el background el medio pharma ground y el background asignamos los dos background y luego queremos ver la diferencia en posiciones de un background con otro así que ahora queremos agarrar la última posición en la que la cámara se encontró así que vamos a decir private flow the killers pasamos las.

Exposición la posición en x porque es donde vamos a mover nuestro background entonces definamos primero nuestra posición la exposición vamos a decir que las exposición es igual a transform position x con eso definimos nuestra última posición en xy ahora podemos acceder a esa posición en el update para poder saber dónde se.

Encontró la última vez la cámara así que con esto la exposición vamos a poder decir cuánta es la cantidad de movimiento que tenemos que asignar a nuestros background así que para decir eso vamos a crear un flow de y vamos a decir el autobús x va a ser igual.

Y le vamos a decir el transform posición en x así que transforma position x en la exposición donde se encontró la cámara y esa es la cantidad que deberíamos mover x ahora asignemos nuestro far background y la cantidad para mover x así que vamos a decir fire background punto position vamos a moverlo con esto y leb lo vamos a mover la cantidad de fire bagram punto.

Position + vector 3 así que vamos a asignar el movimiento de vector 3 y hacemos esto porque le vamos a pasar la cantidad de x así que decimos así que decimos amount vx y luego el ie no le pasamos nada y en z tampoco eso es para el far ground ahora hagamos.

El micro posición así que el background punto posición va a ser igual y ahora para poder hacer el milagro queremos sumar lo que sea que estamos trabajando en el far background ahora para el menú posición queremos sumar la multiplicación de a mount sumo para solamente moverlo un poco así se va a mover en velocidad distinta al fair.

Background así que vamos a decir más es igual para agregar velocidad constante en este caso la velocidad es éste la velocidad de x que tenemos que mover así que le vamos a decir así que le vamos a decir acá a mount v x va a ser x 0.5 y eso va a generar el efecto distinto en movimiento entre los dos.

Background vamos a poner acá punto y coma y ahora finalmente queremos decir que es la exposición en x así que la exposición transform punto posición x para guardar el movimiento después de haber hecho todo esto vayamos ahora a nuestra cámara asignemos el far background y asignemos el micro.

Background démosle a play y ahora cuando hacemos movimiento nota que el background nos sigue y se ve mucho más viva la escena como si la parte de atrás no siguiese y hay más de ti en la escena tenemos ahora el movimiento de nuestra cámara en el eje x pero cuando saltamos no se está moviendo la cámara en ninguna.

Forma así que ahora vamos a hacer para que la cámara se mueva también en el eje y para hacer eso vámonos a nuestro libreto de la cámara en el libreto de la cámara primero queremos asignar una altura máxima y una altura mínima así que vámonos acá arriba las variables y vamos a decir public cloud y le vamos a pasar una altura.

Mínima así que mínimo height y una altura máxima vamos a decir max wright con esto vamos a decirle a la cámara en el eje y cuánto es el máximo que puede subir y cuánto es el mínimo que debería estar así que vámonos a nuestra función de update fíjate como estamos haciendo la actualización hasta ahora esta no es la.

Que vamos a usar así que vamos a comentar esto el transform lo voy a dejar ahí para que veas la diferencia con el que vamos a usar el transform punto posición que vamos a usar es el siguiente vamos a decirle que transforme punto position va a ser igual al nuevo vector 3 y ahora vamos a pasarle nuestro target.

Punto posición en x como hicimos antes sí que podríamos copiar acá esto pero ahora queremos hacer un clan en la cámara para el máximo y el mínimo en el eje y entonces el eje x lo vamos a dejar así como está pero el eje le vamos a decir yo hacer más efe punto clamp clamp nos permite trabajar dos valores máximos y mínimos vamos a decir target punto.

Position y entonces está que el punto posición y lo vamos a plantear al mínimo y el máximo might así que mínimo y el máximo mes el máximo con eso tenemos el eje y del vector 3 ahora vamos a trabajar el vector la transformación en z así que podemos derecho a copiar acá el tag punto posición.

Y voy a decir en z punto y coma así le estamos diciendo que solamente en el eje y queremos cambiar las posiciones máximas y mínimas ahora solamente nos falta venir acá al juego de hecho vamos a ir a grabar nuestro libreto grabamos venimos al juego vamos al main camera tenemos que decirle el mínimo height podemos decir.

Algo como menos punto 11.5 y el max hide 2.5 vamos ahora a darle play y ahora nos vamos a mover y no está primero el azul y ahora de hecho en otra campus de target punto posiciones transform punto posición en el eje z tenemos que poner.

Transform le había puesto target y como le estábamos poniendo target al darle click acá a la pantalla se estaba mostrando azul pero ahora sí cuando nos movemos vamos a saltar entonces cambiamos de verticalidad y tenemos la cámara se mueve hasta arriba y luego la cámara también puede mover un poco más hacia abajo.

Vamos ahora a crear el efecto parallax pero para el eje en abramos el libreto de nuestra cámara y vayamos acá arriba estábamos usando para calcular la última posición en el eje x las posiciones x pero en este caso vamos a calcular x y así que podemos usar un vector 2 y podemos llamarlo la exposición así que vamos a cambiar acá esto por un vector 2.

Se va a llamar last post ahora en vez de decir la exposición x podemos decir que la post es igual a transformen punto position y vamos a agarrar así el eje x y ahora acá abajo estamos usando nuestro transform punto position target posición x clamp en transformers y transformers posición z para poder decir el transform punto.

Posición el amount to move x lo estábamos usando cuando lo usábamos el eje x pero en este caso ya no estamos usando el almonte to move en x vamos a calcular ahora con un vector 2 vamos a decir vector 2 amount to move porque estamos calculando la cantidad para movernos en ambos ejes x e y iba a decir new vector 2 va a ser igual a transform.

Punto position punto x – la exposición en el eje x así que llamamos el eje x poniendo las post punto x y decimos que en el transform posición en y lo dejamos igual así que transforma punto posición punto y y los reducimos por la exposición.

Punto y así sabemos la cantidad para movernos en el eje x y el eje y con eso guardado ahora es cuestión de actualizar nuestra forma ground y nuestro medio de background así que nuestro forma ground position es mas vector 3 amount humus ya no es con x es x y ahora si estamos trabajando el eje y.

Así que así decimos así que decimos amount to move en el eje y también y acá en el background hacemos lo mismo amount vnx podemos copiar esto y acá vamos a ajustarlos para las paréntesis de este vector 3 así que vamos a decir.

Vector 3 amount humus en x vamos a borrar esto como autobús en y en el eje z no lo movemos así que decimos eje z y la multiplicación ahora lo hacemos afuera porque se la vamos a aplicar en ambos ejes listo ahora solamente tenemos que actualizar nuestro la exposición que.

Ahora se llama el last post y actualiza con transform punto posición y así afectamos a ambos ejes podemos borrar incluso esta línea de acá si quieres dejarla como código para que puedas tener lo que hemos trabajado antes vamos a dar la play y ahora cuando saltemos vámonos acá arriba podemos ver que se crea el efecto.

Para la chs en ambos ejes x e y vamos a empezar a crear nuestros niveles así que vamos a primero crear una nueva escena vámonos a nuestro proyecto en sheen's dale click a create sin darle un nombre yo le puse test 2 y vas a tener una escena como estas ahora vamos a ubicarnos en assets vámonos a tu de plataforma assets.

Vámonos a graphics legal art style set y es este tal set que vamos a usar para poder empezar a crear nuestros niveles para poder dibujar en el mapa y crear lo que queremos necesitamos usar un tal paleta así que vamos a darle a window to the tail ballet le das aquí creamos un nuevo ballet entonces le das a create new palet le vamos a dar de nombre main.

Palet vamos a darle create selecciona donde lo quieres guardar así que voy a guardarlo en assets can you folder al set seleccionamos el folder detal set y lo guardamos ahí ahora tenemos el main palet seleccionado.

Vamos a trabajar nuestro set así que hallemos los al metal al main ballet y para generar nuestro times vamos a volver acá atrás assets le damos a tal set y seleccionamos haga el folder con esto creado podemos volver a nuestros assets style set y acá puedes ver que tenemos cada uno de estos bloques individuales.

A estos bloques podemos darles con leaders para que cuando nuestro jugador golpee con estos bloques entonces no traspase el piso y pueda hacer colisión vamos ahora a dibujar nuestro nivel así que vamos a la jerarquía acá del mundo vamos a darle clic derecho to díaz object y vamos a agregar un tail map esto nos va a permitir poder dibujar.

Ahora con el tile tablet podemos escoger qué queremos dibujar vamos a dibujar esto así por ejemplo y ahora por ejemplo voy a borrar esto voy a poner este de acá ahora no estás limitado a lo que la cámara vez porque recuerda que la cámara.

Sigue al personaje así que puedes seguir creando tus niveles acá muy bien entonces tenemos acá un pequeño mundo ahora queremos poder decir los colíderes así que si nos vamos acá ahorita a nuestro ocurrido en eso está el mapa vamos a poner un objeto que pueda caerse vamos a agregar un.

Tal mapa preguntado no agreguemos un cubo agreguemos un cubo y te voy a demostrar como el cubo ahorita si le ponemos un rígido body no importa que esté en 3-d vamos a darle a play al cubo nota que el cubo se cae y traspasa todo es porque ahorita no hay colisión en el.

Piso vamos a saltar el map le vamos a decir está el mapa con libertad y ahora acá salen las colisiones los boks colíderes de nuestro style maps pero queremos que solamente los de arriba se muestren así que acá en el dáil map vamos a darle a composite vamos a poner composite con la virtud y nota que se agrega un ritmo di y ahora.

Acá en el internet colíder le vamos a decir just by composite y se arregla eso y ahora en el compost y vamos a decirle que queremos la geometría de polígonos ahora nota importante el time up le hemos agregado un which un widget body y eso va a hacer que todo el tile map se caiga nota vamos a darle play todo el time up se está cayendo así que para.

Evitar eso vamos a caer brigitte body del tile map y en el movimiento le vamos a decir que es cinemático esto significa que el movimiento se hace a través de código y como no y como no hemos escrito ningún código para modelar el ridgewood y se va a caer en su sitio ahora sí con esto ojalá le damos a play ahora podemos venir a nuestros asset.

Style set y en nuestros colíderes podemos decir cuál es el colíder type si lo queremos en forma de cruz en sprite o si no queremos que tenga colisión entonces ahora es cuestión de venir al taller map acá venimos al tight ballet y podemos seguir dibujando lo que querramos y los dos colíderes van a agregarse.

Vamos ahora a traer a nuestro personaje la cámara y el background a esta escena para que todo se vea mejor ahorita tenemos todo viendo de azul y no tenemos el personaje vayamos a nuestros assets vamos así nos vamos al testing y vamos a convertir nuestro personaje en un brief a habremos saca un nuevo folder new folder.

Rifas y dentro del poder de sprites vamos a convertir al player en un papel cámara en un proyecto y el background en un prisa ahora que tenemos estos objetos en forma de prefab podemos jalar los a otras escenas vámonos a otra escena test 2 y ahora acá en assets primero voy a borrar la escena que tenemos y voy a.

Jalar de nuestros grifos el main camera voy a jalar el background y voy a jalar el player ahora en el mein kampf el target el forma crowne del milagro el no están asignados así que vamos a asignarle farc el miedo y el target es el player igual por el player asegúrate que todo está asignado recuerda que el player.

Está chequeando ground así que él está el set acá tenemos que decir que el tile map schleyer ground porque si no no vamos a detectar el piso así y listo con este hecho vamos a darle play y tenemos nuestro jugador que cae en el piso y ahora si tenemos el pack ground.

Se ve mejor hemos creado un nivel muy bien esto que acaba de ocurrir nunca quieres hacerlo en los juegos tienes que siempre hacer que puedan salir a menos que quieras enseñar la mecánica de saltar en paredes o algo así muy bien pasemos ahora al próximo vídeo ahora que tenemos el jugador creado tenemos una cámara un background que se.

Mueve con nosotros y sabemos crear niveles y podemos usar el tag o tablet para ir dibujando niveles conforme queremos podemos ahora entonces empezar a agregar nuevos sistemas el primer sistema que vamos a agregar va a ser la vida queremos agregar una manera de hacerle daño a nuestro jugador vamos a nuestros assets dudi platform erin.

Graphics tenemos por acá el león mechanics acá tenemos spikes tenemos dos tipos spikes space white tenés spikes top también vamos a jalar estos spikes acá y lo voy a ubicar acá ahora vayamos a los spikes puedes hacer dos clicks y lo primero que quiero hacer es ubicarlo correctamente en el espacio como quiero y ahora vamos a agregarle una forma de.

Hacer colisión así que tenemos que agregar un colíder que sean box colíder 2 d vamos a editar el colíder para que esté en este punto y lo movemos un poquito así así le damos más espacio al jugador para que pueda moverse y no olvidemos convertir este colíder en un trigger porque si no no vamos a poder hacer colisión como.

Queremos nota cuando no está entrega y le damos a play podemos ver abajo el jugador cuando llegamos acá el jugador está haciendo colisión y no queremos eso entonces si lo hacemos es trigger ya no va a ocurrir ese problema porque estamos haciendo colisión en forma de trigger.

Como para activar un código ahora tenemos que poner las púas un libreto que nos permite hacerle daño al jugador y tenemos que agregarle el jugador un libreto que porque permite tener vida vamos a crear ahora el libreto que nos permite darle vida al jugador vámonos a los scripts acá clic derecho create session script vamos a decir.

Player health controller para controlar la vida del jugador vámonos al player y acá en el inspector podemos agregar al jugador este libreto vamos a dar acá player health control lo agregamos y para abrirlo dos clics y ahora queremos ver primero una manera de contar la vida que tenemos en el.

Momento o sea current health y la vida máxima del jugador así que a través de una variable entero vamos a decir current health y también queremos el max así vamos a llevar el contenido de la vida que tenemos la vida máxima que podemos tener en el inicio vamos a decir corriente a 2 es igual a máx health para empezar con toda nuestra vida ahora.

Queremos hacer que el jugador pueda obtener daño de alguna manera así que decimos paulik with you the merch va a ser la función que vamos a llamar siempre que queremos hacerle daño al jugador vamos a decir que curren health – – porque estamos reduciendo la vida y luego vamos a decir a través de una declaración if si tenemos cero vidas.

Vamos a borrar nos así que si quieren health es menor o igual a cero vamos a borrar nos entonces game a project & active false menor o igual a 0 porque si de alguna manera llegamos a tener vidas negativas queremos también morir y con esto estamos haciendo lo inicial para poder hacerle daño al jugador.

Ahora queremos hacerle daño al jugador así que queremos crear un libreto que se llama damage player y nos va a hacer daño siempre que entramos en contacto con los componentes que tienen ese libreto así que el objeto de los spikes vamos a agregarle un componente nuevo va a ser un libreto acá en scripts vamos a decir create sesiones script damage.

Player dammert plane vamos a agregar los spikes y vamos a abrirlo ahora queremos una manera de poder detectar detectar la colisión del jugador con las espinas así que vamos a decir un private enter contribuyente con trigger / estudi porque estamos con un juego 2d y ahora cuando haces tu diseã break a colisión pero quiere decir other así que con.

Líder other y estamos buscando el tag de player acá arriba podemos darle al jugador un tag y puede ser el tag de player así que ahora estamos buscando por ese tag acá vamos a decir audio punto tag es igual a player entonces por ahora vamos a hacer un dibujo log diciendo que hemos sido golpeados heat.

Le damos al play y ahora cuando cruzamos nuestro colíder a casta hits hemos sido golpeados ahora que tenemos todo el sistema han puesto para que el jugador tenga vida y las espinas nos hagan daño vamos a conectar todo esto llamando a la función de deuda met que hemos creado.

Acá empleo el control del dos de maig vamos a llamarlo cuando el jugador se golpee vamos a reemplazar este tipo punto el bloc con play el control del primero queremos acceder a este a esta clase a través de esta otra libreto entonces para hacer eso vamos a declarar esta clase como una instancia vamos a decir public.

Static vamos a darle el nombre player health controller en lo que vamos a declarar como una instancia y vamos a decirle public static player health cultura player health controller instance punto y coma y ahora cuando declaramos una instancia tenemos que usar la función awake para decir instance es igual a 10 y ahora podemos.

Usar esta clase y sus funciones en otros libretos ahora desde damage player vamos a decir player health controller punto instance y ahora llamamos a las funciones que se encuentran adentro de esta clase podemos llamar a tildar merge así qué punto instance punto de merge punto y coma y ahora vamos a aplicar daño vamos al jugador.

Vamos al player y vamos a dar las vidas que queremos entonces player health controller vamos a decir mac self podemos decir 10 y spikes podemos decir dame player damage va a ser uno de daño así que veamos esto vamos a darle play veamos acá el play health caminamos y baja uno y así estamos.

Aplicándole daño al jugador ahora hagamos que todo esto se vea mucho mejor cuando llegamos a cero puedes ver que el jugador desaparece vamos ahora a crear una manera para poder mostrar nuestra vida en pantalla a través de corazones así que ubiquémonos en los sets vámonos a to the platform air vamos a graphics y why y acá tenemos.

Los los corazones vamos a dar clic en la flecha y acá tenemos los diferentes estados vamos a agregar una interfaz gráfica a nuestra jerarquía vamos a dar clic derecho igual y vamos a agregar un canvas el canvas nos permite trabajar las interfaces gráficas vamos a darle dos clics y acá se abre el canvas puedes ver que es bien grande acá tenemos el.

Juego que nos va a mostrar lo que el canvas hace ahora vamos a ver a lo que me refiero pero primero ubiquémonos acá en el canvas nota que se crea un evento sistema junto con el canvas y para que el canvas funcione tiene que haber un event system sino cuando hagas clic en los botones vas a ver que no funciona nada así que el canvas es donde vamos a.

Hacer todo vamos a agregar al canvas primero una interfaz gráfica agregamos una interfaz gráfica entonces en el canvas vamos a darle clic derecho y uruguay y tenemos que agregar una imagen la imagen que vamos a agregar es está acá la del corazón ahora nota que la imagen está dentro del canvas vamos a jalar el event sistema al canvas.

Y luego el image acá le damos click sur same vamos a escoger nuestro corazón entonces los álamos acá lo vamos a mover a donde lo queremos y ahora vamos a decir hard 1 haciendo referencia del corazón 1 vamos a posicionarlo en donde queremos click derecho y ahora con control puedo moverlo con un mejor movimiento.

Ahí está mientras presionas control y mueve es el objeto puedes moverlo con mejor precisión tenemos ahora los otros corazones hard 2 y hard 3 wright 2 y hard 3 ahora estos tres corazones se encuentran arriba a la izquierda queremos primero preservar el aspecto de nuestra.

Imagen nota que los corazones ya no están alargados y segundo queremos que el coraje de nuestra imagen imagen de langraitz esté acá arriba a la izquierda ahora nuestro canvas hagamos clic en el canvas vayamos al juego y cambiemos el aspecto a 1610 nota como los corazones se ven pongamos los del 54 y se ve bien feo regresemos a 1920 x 1080 eso.

Significa que cuando el jugador abre el juego con su ventana de su pantalla se va a ver bien raro así que queremos preservar el tamaño de nuestros corazones del canvas haciendo clic en canvas acá en canvas skyler está en constante pixel size vamos a cambiar los 'kiwis' screen size y vamos a decirle que estamos en 1920 x 1080 y eso es el.

Rango que va a mantener siempre ahora cuando cambiamos a cualquier otro aspecto nota que se mantiene el rango indicado muy bien estamos listos para empezar a actualizar los corazones cuando nuestro jugador se golpea vamos ahora a actualizar la interfaz gráfica de nuestro jugador cuando es golpeado.

Entonces para eso tenemos que crear primero un nuevo libreto vamos a renombrar este canvas canvas y tenemos que crear un libreto en el canvas así que en acepto vámonos a scripts clic derecho create hard script y vamos a decir why controller para controlar el canvas ahora acaba clic en canvas y vamos a agregar este.

Nuevo libreto así que igual controller lo agregamos y lo abrimos primero queremos hacer que esté igual controller sea accesible desde cualquier otro libreto así que lo hacemos un objeto estático lo llamamos y lo decimos que es una instancia ahora declaramos la instancia en la función awake así que a wake vamos a.

Decir instantes igualdades y ahora nuestras imágenes queremos hacer referencia a las imágenes que queremos afectar en este caso tenemos images que son los corazones las creamos como imágenes así que vamos a hacer referencia al componente de la imagen vamos a decir public image y tenemos heart 1.

Hard 2 y hard 3 punto y coma ahora queremos hacer referencia a nuestro corazón con está lleno y nuestro corazón cuando estaba vacío el sprite del corazón entonces vamos a decir public sprite faithfull y heart en ti.

Lo que vamos a hacer es que tenemos ahorita nuestros corazones llenos ese es el sprite del corazón con está lleno pero queremos ahora también reemplazarlo con el sprite del corazón vacío es por eso que tenemos el sprite de hatfield y hard empty hagamos ahora la lógica que va a ser la actualización del.

Display vamos a crear una nueva función vamos a decir pública void kate health display abrimos paréntesis y ahora vamos a crear un caso switch así que vamos a decir switch abrimos paréntesis y vamos a pasarle como valor al caso switch y la vida del.

Jugador así que en caso de que la vida del jugador se encuentre en vamos a decir player health controller punto instance punto 40 en base a la vida del jugador que va a ocurrir vamos a decir en caso de que la vida sea 3 vamos a mostrar hard 1 puntos sprite es igual a hard full mostramos el corazón completo.

En caso de que sea el hard 2 también lo mostramos completo y el hack 3 también eso es en caso de que tengamos todas nuestras vidas en caso 3 ahora siempre que hacemos un caso switch terminamos el caso con break en caso 2 qué pasa si es en caso 2 vamos a copiar todo esto desde el break hasta acá.

Y en caso de que sea acaso 2 este kart de acá ya no va a estar full bastar empty pero los otros iban a estar full en caso de que sea caso 1 ahora ya no hay dos full van a ver este en ti y este en fin finalmente en caso cero vamos a poner todos el envío así que.

Podemos comprar que esté en pie y listo guardemos y asignemos todos estos valores vayamos a nuestro uruguay canvas vamos a asignar hard 1 hard 2 hard 3 ahora las imágenes de hard to light y que son las que vamos a mostrar acá en los corazones assets aún no sean nuestros aceites de.

Acá graphics y guay y estos son los sprites venimos aquí y le decimos este es el sprite de acá y este es el sprite de acá vamos a darle play nos golpeamos y ahorita la vida la tengan más de mucho lo tengo mucho ahorita la vida vámonos al player vamos a el health controller la tenemos.

En 7 sigamos golpeando hasta que lleguemos al caso y ahora nota que se me pasó algo tenemos que de hecho llamar a la función acá hemos creado esta función muy bien con esto hecho ahora tenemos la función creada update el display vamos a llamar a la función porque todavía no la estamos llamando cuando hacemos daño o.

Sea que endeuda match después de hacer daño vamos a decir control del punto instance punto update display y así vamos a llamar lo que ahora vamos a hacer vamos a darle play se golpea y ya está ahora en caso de que nuestra vida llegue a menos que cero acá tenemos en el controller el caso de cero qué pasa si.

Ocurre otro caso solamente para en caso de que por alguna razón ocurra otro caso vamos a poner acá el default que también sea de cero cero cero para que si llegamos a menos que cero o cualquier otro caso raro el jugador muera vamos ahora a agregar el medio corazón entonces ahorita nuestro sistema de vida.

Tiene tres vidas 1 2 3 pero con el medio corazón tendríamos seis vidas así que vamos acá a nuestro libreto de igual controller vámonos a las variables de acá en hard foo fighters empty y vamos a agregar a cada uno más va a ser hard have huff vamos a agregar primero el gráfico.

Así que este es el gráfico vamos a darle a cada igual canvas y vamos a jalar lo que ahora hagamos la lógica en el caso switch tenemos 6 3 2 1 vamos a copiar de hecho el case 3 acá copiamos vamos a bajar acá este hecho va a ser el caso 6 casos 5 entonces en el caso 6 tenemos toda la vida en el caso 5 tenemos todo menos.

Hard have y en el caso acá 2 es este sería el caso 4 donde hart full pero este ya está en ti y luego en el caso 3 tendríamos heart art faithfull luego en el caso dos tenemos hard empty hard full vamos a copiar caso 2 caso 1 hard full vamos a cambiar esto por carta.

Y el caso cero vamos a ponerle heart empty guardamos y esto es nuestra nueva lógica vamos a darle play ahora tenemos seis vidas entonces vamos antes de darle a play hasta actualizar las vidas del jugador así que en play health vamos a darle max el 6 le damos a play.

Y ahora tenemos más vidas de lo común perfecto ahora cuando el jugador está corriendo y se golpea con las espinas vamos a agregar una invisibilidad para que el jugador tenga un tiempo de gracia así sus vidas no se van tan rápido vámonos al play el control there y para agregar esto tenemos que agregar.

Primero dos variables así que vamos a poner una variable que va a ser el tiempo de invisibilidad así que public cloud y vamos a decir el principio link invincible punto y coma y private cloud esta vez va a ser el conteo de invisibilidad una vez que empieza la.

Invisibilidad invincible counter tenemos la longitud de invisibilidad podemos decir que duraba un segundo y este es el conteo cuando nos golpeamos empieza el conteo para llegar hasta un segundo ahora apliquemos esta lógica en nuestro código primero en nuestro update function en nuestra función acá.

Update vamos a decir qué pasa si nuestro invincible counter es mayor que 0 y fivin tibú counter es mayor que 0 entonces nuestro infinitivo counter empieza el conteo para llegar de nuevo a cero entonces empieza el conteo con time delta time eso activa el conteo y hace que llegue a cero ahora acá abajo endeudamento.

Antes de hacer daño solamente vamos a poder hacer daño sin vince y busca donde es menor o igual a cero así que vamos a decir que if invincible counter es menor o igual a cero entonces hacemos daño venimos acá cortamos esto y lo pegamos acá vamos a.

Decir que vendedor de flores health es menor o igual a cero que se active falso queremos acá de hecho también decir que cruyff sea igual a 0 por si acaso cualquier cosa siempre queremos definir la vida como 0 a y ahora el invincible counter vamos después de éste y vamos a hacer un else tenemos que hacer que el invincible counter sea igual que hicimos.

Links así que inventivo counter es igual a invincible deng y con esto hemos hecho el conteo cuando nos empiezan a golpear el invincible counter solamente nos va a permitir que nos golpeemos si está en menor que cero eso así nos hace invencibles y cuando llega a ese punto el mismo counter siempre queremos decir que es igual a invincible link vamos a.

Darle play entonces nuestro player health controller ahorita tenemos invisible lentes de cero vamos a ponerle invencible link de 2 vamos a movernos y deberíamos poder caminar y volver a caminar por un rato y ahí está 2 segundos de tiempo de gracia vamos ahora a demostrar cuando el.

Jugador se golpea vamos a mostrar que el juego el jugador tiene un tiempo de invisibilidad haciendo que su sprite acabe se muestre el spray del zorro que se vaya a transparente y luego regrese a mostrar la imagen para hacer eso vamos a nuestro player health controller y vamos a hacer un primero una referencia al sprite vender.

El que queremos que haga se haga intermitente vamos a decir sprite render vamos a convertir en un private sprite vender y vamos a obtenerlo de la misma manera como hicimos anteriormente vamos a decir sprite render le damos un nombre y acá en el start function.

Vamos a decir que el sprite render es igual a qué componente spray tener listo con esto agarramos nuestro sprite vender ahora queremos hacerlo invencibilidad ahora queremos que infla se del alfa para que pase de valor de 1 a 0 cuando cambian los colores cuando cuando trabajamos con color.

Tenemos rojo gris tenemos red green blue es rojo verde azul y también tenemos alfa que se encarga de la transparencia eso es lo que vamos a editar ahora entonces para trabajar eso vamos a primero ubicarnos en el update acá estamos diciendo invincible counter mayor que 0 empiece el conteo y si empieza el conteo vamos a decir acá en.

If antes y ahora acá dentro de esta lógica vamos a decir si nuestro y me dibuja un 3 menor o igual que 0 queremos que el jugador se pueda ver así que su alfa va a ser de 1 entonces e invincible counter es menor o igual que 0 el valor de nuestro jugador vamos a decir 10 punto color.

Es igual a new color entonces estamos accediendo al sprite render de nuestro jugador vamos a player vamos a vender acá tenemos el color este es el valor de alfa que vamos a cambiar nota cuando se hace 0 el jugador desaparece y cuando eso no aparece vamos a hacer este efecto entonces accedemos al color new color y vamos a.

Decir 10 punto color primero es el rojo que tenemos que hacer no le vamos a cambiar nada así que lo dejamos como rojo redes green y luego tenemos el blue y finalmente el valor de alfa este si lo vamos a convertir en 1 así que va a ser completamente aprendido o sea color pero.

En el otro caso o sea si el jugador recibe daño vamos a apagarlo así que acá si el jugador recibe daño empezamos le bajamos la vida luego en caso de ser 0 desaparecemos al jugador y acá en el else empezamos el invincible links el límite por counter es igual invincible links para resetear el counter y luego 10 punto color acá.

Hacemos la transparencia podemos copiar esto y podemos decir que es punto 5 para no desaparecer completamente el jugador guardemos y probemos los cambios entonces nos movemos y el jugador se golpea por un rato y es invencible ahora nota que no regresa vamos a darle a cada poder el control de.

Sus segundos de invisibilidad estaban en cero entonces lo voy a dejar en 1 voy a darle play y ahora si deberíamos tener invisibilidad por un segundo nos golpeamos por un segundo y volvemos entonces ahora si se ve mucho mejor cuando nos golpeamos vamos ahora a.

Seguir trabajando nuestra vida agregando un knock back cuando nos golpeamos vamos ahora a agregar un novak cuando nos golpeamos así nuestro feedback cuando el jugador recibe un golpe se siente mejor entonces vamos a abrir nuestro player controller abrimos el libreto de player controller y acá arriba vamos a asignar las variables que.

Van a hacer referencia al tiempo de knock back y la fuerza de no para qué entonces vamos a hacer primero las variables públicas public cloud vamos a decir novak link esa es la longitud y también queremos en la fuerza del agua casi que no back wars y ahora como private.

Vamos a decir novak counter y con esto estamos listos para implementar nuestro notebook ahora lo primero que haremos es crear la función de novak acá abajo vamos a afuera de la función update o vamos a decir acá nowak entonces public boides paulik porque queremos acceder a la función entonces vamos de keynote back.

Abrimos paréntesis y lo primero que haremos es empezar el conteo así que cnooc back counter es igual a no backlinks y ahora para poder acceder a esta función tenemos que declarar nuestro player controlar como una instancia así que publiques static player controller instance y ahora en la función a wake.

Vamos a declararlo como instance es igual a 6 ahora si podemos acceder a la función de novak cuando nos golpeamos entonces en plainfield controller acá podemos poner play de controller instance punto notebook siempre que recibimos daño entonces ahora en caso de que estamos con un knock back o sea en caso acabamos el player controller.

En caso que el knock back counter sea menor o igual que 0 vámonos acá a nuestro update donde estamos haciendo todo el movimiento del jugador y vamos a decir if not want counter es menor o igual que 0 entonces vamos a movernos o no nos vamos a mover eso va a limitar nuestro movimiento cuando nos golpeamos.

Entonces todo esto lo vamos a meter acá dentro de la función del knock back counter ahora en caso de que no nos estemos moviendo en caso de que él no va counter si esté contento contando si esté prendido sea mayor que 0 vamos a empezar a bajarlo entonces no va counter lo bajamos con time punto delta time usando.

El menos e igual ahora lo último que queremos hacer es hacer que nuestro enemigo que nuestro jugador se vea como que se está golpeando así que vamos a aplicar la fuerza que hará que el jugador salte vamos a decir del regidor de punto velocity y vamos a decir que es igual a new vector tú y en el eje x vamos a decir 0 efe y en.

El eje y vamos a darle novak force punto y coma guardemos y probemos esto en el player venimos acá tenemos acá el player controller novak link vamos a decir punto 25 y el notebook forest vamos a darle 5 vamos a darle play entonces caminamos se golpea y no con vaca ahora 5 es quizás mucho vamos a ponerle 1.

Y ésta reacciona como si se ha golpeado y hace que dejemos de movernos ahora una última cosa que queremos hacer es cuando nuestro jugador se golpea en el lado de la derecha queremos que reaccione y salte a la izquierda y gire así que vamos a filipe ar también acá similar a como hemos hecho el flip de.

Acá entonces en el flip dentro del delta acá el novak counter si se golpea entonces if el jugador primero vamos a decir 10 a free px si nos encontramos en flip x entonces qué queremos hacer si no estamos en flip x vamos a aplicar la fuerza al otro lado con el eje x entonces acá abajo le aplicamos el eje y.

Queremos aplicar acá un flip a la fuerza del eje x así que de brigitte burdin punto velocity es igual al new vector 2 abrimos paréntesis y acá negativo novak force porque estamos con el eje negativo en acá estamos con el eje x negativo nowak force com a la red body velocity punto y recuerda la fuerza en y se aplica en.

Esta caja ahora podemos copiar esto y de hecho acá en el else vamos a decirle lo mismo solamente que con un positivo en este caso muy bien vamos a guardar esto y veamos que tenemos entonces ahora aplicamos la fuerza en el eje xy la fuerza en el eje y muy bien.

Con eso tenemos el knock back vamos ahora a agregar una animación para cuando nuestro jugador se golpea así que vámonos a ubicarnos en nuestro player vamos a la ventana de animation y aquí hagamos create new clip nos ubicamos en nuestros folders de animations player y este se va a llamar player player.

Acá en nuestro proyecto vamos a buscar en nuestro to de platform graphics vamos a nuestro player graphics y vamos a buscar la animación del player esté acá tenemos 2 entonces en el 0 vamos a poner ésta luego en el 0.5 ponemos la otra en el 10 y voy a hacer esto así intermitente.

Hasta llegar al seguro al medio segundo entonces démosle acá a play voy a ubicarme dos clics en el jugador para verlo ahí está ahora uno último country más ahí está el jugador conoce hace daño tiene esa animación entonces tenemos la animación creada vamos ahora a asignar la vamos al.

Animator y acá tenemos el player heart vamos de einstein al play art entonces player art acá vamos a decir que no tiene éxito time no hay fixation y lo ponemos en cero porque es un sprite con lo que estamos trabajando vamos a darle a más y en este caso queremos crear acá un parámetro que sea trigger y que sea hard golpeado.

Ahora la condición es hard en este caso ahora volvamos a nuestro libreto vámonos a nuestro player health controller veamos el match acá donde estamos recibiendo daño vamos a decir queremos hacer acceder a nuestro animador entonces poder controlar es el que contiene el animador vamos a decir.

Acá en el geof control de la función de deuda match play' el control del punto instance punto animator anima vamos a ver como llamamos al animador anima y lo voy a hacer un público luego public para así poder acceder a través de acá al animador si no no.

Podríamos ánimo punto set trigger abrimos paréntesis y decimos eso es cuando se golpea entonces veamos esto en acción vayamos al game de la play y acá vamos a poder ver los estados también nos movemos el jugador se golpea hard y ahora nota que hace falta regresar así que vamos a darle acá make transition a.

Player qué pasó ahí nota que cuando le das a make transición y ésta se emplea a veces ocurre eso entonces make transition iron voy a borrar y volver a hacerlo plegar y transition iron ahora sin éxito time y sin fix duration 0 si no le ponemos exit time en este caso the player está play idol significa que.

La animación no va a darse tiempo para que termine de arse play así que vamos a darle a exit time y no vamos a dar ninguna condición my transición a player jump y vamos a hacer acá fix duration nada transición de gration nada y la condición va a ser si estamos en round false.

La condición acá va a ser si estamos en ground truck tenemos la play y ahora caminamos nos golpeamos y hasta ahora podemos saltar y golpearnos también y vamos a volver a nuestro estado vamos ahora a crear un sistema de check points para que cuando muramos podamos.

Responder en el checkpoint entonces fijémonos primero en nuestros assets estudi platform assets vamos a los graphics y acá tenemos en le boulou mechanics tenemos el checkpoint cuando está en off y cuando están o no salimos primero el checkpoint acá el check point of vamos a renombrar la solo checkpoint ahora queremos agregar a nuestro.

Checkpoint acá en componentes un cerco con la virtud y para que se vea acá para que cuando golpeamos el cerco colíder podemos activar el checkpoint entonces le ponemos acá un tamaño más o menos de 1.2 luego trigger y ahora tenemos que crear un libreto para hacer los check points entonces vámonos a nuestros.

Suscriptores y sharp script vamos a decir checkpoint y ahora acá en el checkpoint vamos a darle click al objeto jalamos el libreto a los componentes vamos a abrir acá el libreto y lo primero que haremos va a ser actualizar el sprite render similar a como hicimos el sprite render de.

Nuestros corazones vamos a decir public spray vender entonces spray vender ver vamos a agarrar la llamamos de sprite vanderberg y luego queremos hacer referencia a nuestros sprites entonces public sprite cp on icp off entonces tenemos nuestros sprites y sprite prender ahora con esas.

Referencias vamos a llenar en el inspector los objetos necesarios vamos a jalar acá el sprite render del checkpoint y para el checkpoint on y off vámonos a assets venimos a to de platform el graphics lebu mechanics y aca jalamos el check point and el check point of ahora podemos cambiar el checkpoint cuando lo golpeamos para.

Activar el código entonces vamos a borrar aca estas funciones y vamos a decir a un driver enter construir entre dos de cambiamos colisión por ader para poder decir está que entonces if a der tag es igual a player en este caso vamos a decir hacer punto.

Completa que entonces punto completar con player en caso que del tag sea player este es otra manera de decir vamos a decir de sprite render puntos sprite vamos a aprenderlo entonces es igual para aprenderlo vamos a mostrar este sprite entonces veamos que hicimos.

Vamos a movernos acá y cuando golpeamos este checkpoint se prende ahora nosotros queremos que cuando golpeamos el checkpoint veamos acá qué pasa si duplicó el checkpoint bueno vamos a duplicarlo así nomás duplicamos este checkpoint y vamos a golpearlo nosotros queremos que cuando golpeamos este checkpoint y volvemos el segundo.

Checkpoint solamente el segundo checkpoint se prenda para que pongamos así tener un sistema de checkpoint donde podamos a poder responder entonces hagamos eso vamos a crear entonces un controlador de checkpoint tenemos 12 check points vamos a agregar un tercer check point acá arriba.

Tenemos tres check points en el mapa vamos a crear un controlador así que create empty checkpoint control there y acá vamos a los assets scripts vamos a tener un nuevo script script checkpoint controller entonces en este libreto de checkpoint controller vamos a primero asignar el.

Libreto y vamos a definir en una en una lista todos los checkpoints en una matriz de hecho vamos a definirlo en una matriz la diferencia entre una lista y una matriz es que una lista es más fácil de editar que una matriz en este caso necesitamos es una matriz porque no vamos a editar los checkpoints una vez que ya los ponemos en el piso.

Checkpoint vamos a poner acá check points ahora también vamos a declarar esto como static o public static checkpoint controller vamos a decir instance ahora acá en start voy a cambiarlo por wake.

Voy a decir instancias es igual a 10 listo vamos a guardar y acá vamos ahora a definir todos los checkpoints de la escena entonces venimos al check point controller tenemos 3 point 1 check point 2 check point 3 abrimos acá y tenemos los tres set points otra manera de llenar esta lista es.

Utilizando acá en el start podemos decir en checkpoint controller vamos a decir start y vamos a poner check points es igual a find objects of type objects con ese objeto of time abrimos acá y decimos checkpoint vamos a buscar el checkpoint dentro y con esto podemos también llenar toda la lista de checkpoints.

Ahora en el checkpoint controller vamos a crear una función nueva va a ser público boyd y vamos a de activate checkpoint vamos a poner de actividad checkpoint para desactivar los checkpoints y vamos a llamar a esta función cada vez que golpeamos un checkpoint así que vamos a llamarla desde el libreto de checkpoint.

Pero primero tenemos que decir qué va a pasar acá vamos a hacer una integración con un ciclo for four int hay igual a cero vamos a buscar que sea menor que checkpoint punto link para buscar todos los checkpoints que tenemos en nuestra matriz de check points vamos a poner punto y coma y vamos a sumar y más más ahora vamos a decir checkpoint y vamos a.

Buscar todos los check points en y ya esto muy bien y de ser así vamos a resetear los checkpoints entonces ricet checkpoint reset check point y ahora tenemos que crear esta función y llamar a de actividad checkpoint desde el checkpoint así que nos venimos acá a checkpoint tenemos construir enter.

Cuando golpeamos enter vamos a decir acá checkpoint controller checkpoint controller punto instance punto de active y check points para desactivar los check points cada vez que golpeamos un nuevo checkpoint así estamos integrando a través de todo está limpia lista y reseteando los check points hagamos una función de ruiz set.

Entonces acá public void ricet checkpoint y acá tenemos que decirle a nuestro sprite vender punto sprite que es igual para resetear el checkpoint y con esta lógica estamos desactivando y activando los check points entonces con checkpoint.

Controller le pasamos todos los check points buscamos los check points en nuestra escena y luego esta función de desactivar check points y ctera a través de todos los check points en nuestra matriz y cuando encuentra el checkpoint indicado recete a todos los check points ya can check points estamos aplicando eso.

Vayamos a checar entonces esto golpeamos un checkpoint y ahora el otro ya está y ahora el otro perfecto ahora hagamos la lógica para de hecho respaldar en estos check points vamos ahora a guardar la posición de nuestro jugador cuando golpea un checkpoint este es el paso antes y cuando morimos hacer que responde.

Nuestro jugador en el checkpoint primero queremos guardar la posición del checkpoint y del jugador en ese checkpoint vamos a nuestro checkpoint controller y primero vamos a crear acá un vector 3 que va a guardar las coordenadas de nuestros point point vamos a decir public sector 3 y guardamos las coordenadas de spawn point.

Punto y coma ahora creemos acá una función que sea pública void sets found point y esta función le vamos a pasar el nuevo spot point entonces vamos a decir acá un new bueno nos unió vamos a pasarle un vector tres no más entonces acá vamos a pasarle un vector 3 vamos a decir news bound point y acá le vamos a dar responde desigual.

News point entonces estamos empezando con nuestro expone point y luego lo cambiamos por news pon point cuando volteamos sets point point que lo vamos a declarar cuando volteamos el pan point entonces ahora en nuestro checkpoint para guardar la posición de nuestros point acá cuando golpeamos el checkpoint queremos llamar a checkpoint controller.

Punto instance punto sets point y la posición que queremos guardar en la de transform posesión del mismo checkpoint entonces ponemos transform punto posición control si usted se va a guardar todos sus libretos a la vez ya está con eso estamos guardando la posición de nuestro checkpoint vamos ahora a hacer que nuestro jugador.

Respawn y ya hicimos toda la lógica del checkpoint estamos guardando la posición del jugador con el checkpoint ahora lo que queremos es hacer la lógica para poder restaurar vamos a crear primero acá un game object que se va a llamar ledo manager el led o el manager se va a encargar de hacer más cosas que solamente responde.

Al jugador por ahora lo vamos a hacer para responder vamos a darle a create your script y vamos a ponerle un manager los álamos lo abrimos y ahora primero lo declaramos como una instancia vamos a llamar a wake y ahora vamos a decir cuánto tiempo queremos esperar para responder entonces public cloud.

White turismo ese es el tiempo que esperaremos para hacer el ritmo ahora crearemos una función acá que será richmond player digamos primero pavlik void louis bound player abrimos paréntesis y ahora vamos a llamar a la función de responder desde donde queremos hacer.

Elvis pong vamos a player health controller y cuando nuestro jugador muere acá en vez de desactivar el jugador vamos a decir nuevo manager punto instance punto y vamos a llamar a la función de responde tenemos el nuevo manager rishton player abrimos paréntesis punto y coma ahora.

Hagamos la lógica del mismo amplia caen ledo manager entonces en la función de responder vamos primero a llamar a una rutina así que vamos a decir stat körting abrimos paréntesis y la corrupta ina que vamos a llamar lo vamos a crear por acá vamos a decir ay en número rector así es como declaras con rutinas va a ser el mismo körting.

Respond con routing y ahora las rutinas nos permiten poder esperar segundos y correr y ejecutar código y voy a esperar segundos entonces vamos a decir el return new wait for seconds abrimos paréntesis y white turís pong son los segundos que vamos a esperar y ahí es donde vamos a esperar los segundos para ser response entonces nuestro jugador.

Primero va a ser desactivado cuando muere así que puede controlar punto instance punto game object punto set active false para desactivar el jugador entonces desactivamos el jugador esperamos el tiempo de respond y luego activamos al jugador así que acá copiamos esto y lo cambiamos a perú y.

Luego movemos ahí mismo al jugador al siguiente lugar donde tiene que estar o sea en donde se encuentra el checkpoint así que instance punto transform punto position es igual a checkpoint controller y ahí eso está acá en checkpoint control del punto instance puntos point es donde estábamos guardando el espanto jmg.

Ahora lo último que queremos hacer es llamar a primero la corrupta acá así que copiamos el nombre y lo pegamos aquí guardamos esto y acá en checkpoint controller queremos declarar cuál es nuestro espanto en el punto inicial cuando recién empezamos el juego vamos a poner a camps pond point es igual y vamos a llamar al player control del.

Punto instance punto transform punto position para agarrar su posición exacta donde se encuentra el jugador apenas empezamos el juego ahora probemos lo que hicimos entonces wait response vamos a poner dos segundos vamos a darle play nos movemos chocamos el checkpoint vamos a morir entonces morimos esperamos y esperamos en el checkpoint y lo mismo va.

A ocurrir si golpeamos este o si golpeamos cualquier otro que aparecemos nota que estamos respondiendo sin vida para hacer que exponemos sin vida vámonos a la leb el manager donde estamos trabajando la corrupción ha de abismo a una casa toda la lógica del avispón y después de aparecer al jugador.

Acá después de hacer el check point para dónde va a estar respondiendo el jugador vamos a decir que player health controller punto instance punto creer en health es igual a player el controller punto instance punto máximo y ahora cuando respondemos vamos a tener toda nuestra vida.

Vamos ahora a crear un houston para cuando nuestro jugador se cae del nivel entonces por ejemplo cuando te caes por acá ahí muere entonces vamos a crear el kill zone para matar al jugador con styles vamos a crear acá un tutti object de hecho pongamos un empirismo peak primero y ahora vamos a decirle que un sound y vamos a agregarle un estudio a.

Project no acaba en componente y ahora es acá vamos a agregar un componente vamos a hacer un box colíder to di ahora podemos editar nuestros box colíder podemos hacerlo así o podemos también agarrar nuestro club sound y editarlo así entonces tenemos nuestro con leader cuando el jugador se cae acá.

Vamos a matarlo entonces lo óptimo sería ser así pero ten cuidado con eso porque va a ser quizás matarlo en zonas donde no quieres entonces calcula tus colíderes vamos a poner este acá killzone entonces hagamos acá create sichap script houston vamos a agarrar nuestro club sound.

Nuestro colíder lo vamos a hacer trigger vamos a agregar el combo del libreto como componente vamos a abrir el libreto de cue sound y vamos a decir acá con trigo entero vamos a usar el poder y ahora if tak es igual a player vamos a decir que queremos llamar a la función.

De matar al jugador entonces acá en nuestro player health control there tenemos deudas y puedes ver que cuando estamos matando al jugador acá para responder al jugador estamos usando esta función de responder así que vamos a llamar a la ley del manager instance bis.

Point player y veamos que tenemos golpeamos morimos y respondemos empecemos a crearlos pickups positivos como las gemas las monedas y las vidas entonces hagamos las gemas vamos a los assets tuti platform assets graphics vayamos donde tenemos nuestros colectivos ya que tenemos gemas ahora nota que la gema viene con su animación.

Así que hagamos la animación de la gema jalea vemos la gema pongamos game vayamos a su animation aka create vámonos a los assets animations podemos poner colectivos james vamos a llamar a caries ahora para poder hacer esta animación lo que haremos vamos nos acaba y jalamos la.

Primera yema cae en el 0 luego vamos a dejar que por un segundo no haga nada y luego cada 5 hacemos nosotros movimientos 4 y termina con y en cero ahí está démosle a play ahí está girando pero podemos quizás jalarlo más acá.

Ahí está ahí está ahí está tenemos la gema girando ahora tiene más vida démosle un colíder para poder usarla así que al componer un componente vamos a hacer ser colíder y abramos más el virus y está bien 0.8.

Hagámoslo trigo y ahora creemos un script para los picados vamos a darle clic derecho create script pickup y de hecho lo tenemos que pasar a los scripts abramos los scripts y asignemos lea acá el libreto de pick.

Up abramos lo y ahora trabajemos el libreto vamos a primero definir el tipo de pickup que estamos trabajando ahorita estamos con él y siem o sea si es una gema así que public bull y siem para poder definir si nuestro pickup es de tipo gema ahora queremos darle al pickup el contrayente así que consigue entre tú.

De que habíamos colisión por ader y le decimos acá if there punto completar el player vamos a decir si es el pickup de tipo gema porque vamos a tener diferentes tipos de pickup y jesse james entonces hagamos la lógica de y siem para dar la lógica vayamos a level manager vamos a arriba y declaremos las variables.

En el d2 manager vamos a crear una variable va a ser un entero public inti vamos a llevar el contenido de las gemas recolectadas james collected punto y coma y ahora todo lo que haremos en el pickup será decir la manager punto instance punto james colectar más más.

Ahora con esto estamos haciendo el conteo hagamos la lógica de recolectar y destruir la gema por haberla recolectado así que en privado hagamos un bull ya no que sea ys collected y vamos a decirle a cada player y también si no ha sido colector hacemos esto para evitar problemas de duplicación.

Ahora sí estamos en disco lector true le vamos a decir porque ya hemos recolectado este pick up y luego lo vamos a destruir destroy game freak pero vemos esto digamos que es james acá en el pickup hagamos clic acá en el juego.

Entonces me puse player con dos erres de nuevo acá digamos que es una gema de play y se destruye la gema muy bien ahora hagamos para hacer el conteo hagamos ahora el pickup de vida así que primero traigamos de los assets un tour y plataforma graphics collectibles.

Busquemos el pickup de vida ya cada el uruguay vamos a usar este de acá hallemos el corazón y para animarlo podemos hacer un corazón que late entonces sacar create animations colectivos heart bip.

Agarramos el corazón empezamos a grabar decimos en el transform el que el atc y porque después de esto acá podemos hacer un latido entonces acá y vemos si es es un latido ok entonces hagámoslo más lento ahí está.

Muy bien es un corazón que te está llamando entonces es perfecto ya está si quieres ajustar la velocidad la frecuencia acá le damos así vemos como es con un segundo ahí está vamos a dejarlo con un segundo ahora tenemos el corazón vamos a darle acá en el inspector su co líder respectivo ser cool aire vamos a hacerlo.

0.8 stringer y asignemos lee un pickup un libreto de pick up ahora acá en el corazón abramos el libreto de pick up y trabajemos la lógica de si es un corazón entonces acá en public bull vamos a decir is digamos y ese giro.

De curar ahora si es para curar entonces digamos if yo vamos a decir si el player controller si el play health controller punto instance punto suscriben health permite a ser curado sea si no es max health o sea vamos a venir acá es decir si el player health controller.

No es max el ftc entonces vamos a curar al jugador entonces hagamos una función para dar vida vayamos en nuestro player el controller y acá tenemos deuda llegamos 1 para dar vida entonces acá digamos para black boy y you player y vamos a decir health.

Más más para dar vida y en caso de que curen efe sea mayor a max hoff entonces no vamos a dar nada más bien vamos a decir que curen telf es igual a máximo en caso de que nos pasemos en navidad y ahora queremos actualizar el control del para que los corazones se actualicen en.

Pantalla así que vamos a decir yo el control del punto update of display con esto listo podemos ahora venir acá y llamar desde play el control del punto instance punto player y ahora queremos decir que es colectar y sub porque hemos recolectado la gema y queremos destruir el objeto así que destroy game ect.

Ahora probemos lo que hicimos ahora probemos lo que hicimos así que démosle a play vamos a decir que el corazón es un you el james es un game vamos a correr por acá nos golpeamos entonces nos hacemos daño agarramos del corazón y recibimos vida y también podemos agarrar la gema.

Vamos ahora a enfocarnos en nuestra interfaz gráfica tenemos los corazones ahora vamos a agregar el conteo de las gemas así que vámonos a nuestra interfaz gráfica acá en uruguay canvas tenemos los hearts fijémonos dando dos clics en el white canvas click en hard éste es un hard vamos a duplicar lo íbamos a moverle a.

La derecha y vamos a reemplazar la imagen con la de una gema vamos a los gráficos en uruguay y de hecho vamos a agarrar lo que tenemos acá en colectivo les quema vamos a usar esta de acá entonces de hecho vamos a usar la tres vamos a venir aquí y reemplazamos de esta manera puedes usar la que desees.

Entonces pones la gema y ahora vamos a cambiar el nombre al yen y también queremos darle un texto así que yo hay canvas vamos a agregar desde el text vamos a mover el texto por acá queremos de hecho que el texto encaje bien con esto de esta manera ahora vamos a en centrarlo.

Vamos a darle best fit para ver cómo se ve cambiemos el fondo acá tenemos un mejor fondo cambiamos el texto por 9999 vamos a poner de hecho aquí tenemos best fit y pongamos font-size y vayamos agrandándolo ahora esto pongámoslo a la izquierda y vamos a mover el texto justo para que se vea bien alineado ahora cambiamos el color vamos a cada.

Color blanco vamos a darle out line para que tenga acá vamos a decir out line y las líneas vamos a definir la 33 así que 33 ya no se ve mejor vayamos ahora a nuestro libreto para poder trabajar y asignar el texto de la gema para poder actualizarlo así que vamos acá y nos vamos a donde tenemos.

Nuestro uruguay control del vámonos acá abajo para crear la función entonces después de update display acá vamos a crear nuestra función lo primero que haremos será asignar acá la gema así que pavlik text digamos yen text.

Así que tenemos esto así que vamos acá en uruguay canvas asignamos el texto ahora trabajemos el yen text creando una función se va a llamar pavlik void update vamos a decir update game count abrimos paréntesis y acá vamos a decir james tex tex para.

Acceder al texto y vamos a decirle al manager para poder agarrar el nuevo manager el james colectivas y qué punto instance punto game collected punto y ahora para poder mostrarlo correctamente tenemos que decir tú string ahora tenemos que llamar esta función cada vez que agarramos una gema así que en pick up.

Cuando agarramos una gema tenemos que decir uruguay controller vamos a decir el control punto instance punto update game count ahora al inicio cuando corramos todo en el control there tenemos que de hecho llamar el update game count desde el start para poder.

Actualizar el game kaunda al inicio así que desde el start acá escribimos update game countrywide controller vamos a correr esto y lo tenemos en 0 agarramos una gema y lo tenemos en 1 vamos a golpearnos nos golpeamos agarramos corazón vamos ahora a crear un.

Efecto para cuando recogemos un recolecta bleu como estas gemas se va a crear un efecto este es el efecto que vamos a hacer el colecta efecto así que vamos a agarrar acá en jalar el primer efecto vamos a hacer dos clics para verlo en la escena y acá este efecto vámonos a los animation es vamos a crear una animation.

Para pickup ahora hallemos el primero acá y luego voy a jalar cada uno consecutivo después de cada 05 segundos entonces ahí tengo el efecto de esta estrella explotando cuando golpea pero no quiero que se repita así así que voy a jalar un poco más acá este sprite del inicio lo voy a dejar.

Repetido voy a darle a grabar voy a posicionarme en esta parte de aquí y apenas termina de mostrarse la estrella acá en este cuadro voy a apagar el sprite render air y voy a terminar de grabar entonces esto se va a ver así listo ahora tenemos nuestra estrella que explota queremos ahora borrar nuestra.

Estrella de la escena antes del primer segundo vamos a borrarlo en el 0.5 para eso tenemos que crear un libreto vámonos a sets y acabamos los scripts destroy over time vamos a hacer casillas script 'destroyed' over time para destruir cualquier objeto que se es instancia en la escena podemos destruirlo con el tiempo así que vamos a darle a conecte.

Efecto este destroy o britain vamos a abrirlo y acá vamos a decir qué public cloud lifetime que es el tiempo que vamos a darle al objeto de vida en el lapd y podemos decir destroy el objeto del mismo game object y que se destruya en el tiempo de lifetime.

Vámonos ahora acá al colector object en este efecto y le vamos a decir 0.5 para que se destruya antes del segundo así no se repite y con eso tenemos el colector ect vamos a crear una rifa de este efecto para poder instancia cuando golpeamos la gema así que vámonos a los spring house collective ect te recomiendo que.

Conviertas todas estas cosas en un grifo eventualmente vamos a hacer eso pero ahora enfoquémonos en el collective ect así que lo tenemos como prueba podemos borrarlo de la escena ahora vamos a enfocarnos en el colector effect desde acá pero primero vamos a nuestro pick up así que pick up llamemos el efecto.

Public game object y vamos a decir el efecto es el pickup perfecto y ahora queremos instancia este game project así que si es una gema lo que golpeamos vamos a decir acá instancia desde el transform punto posición como.

Transfondo punto rotation y eso tenemos que indicarle un objeto así que antes de eso el objeto que vamos a instancia va a ser el pica perfecto pica efecto en el transformer punto posición transform punto rotation del libreto de pick up eso va a instancia del pico perfect y el pico efe ecs sólo se va a ir vamos a ver.

Cómo se ve esto entonces vámonos a nuestro james acá y vamos a darle el colectivo defecto y podemos darle el hard también si quieres pero eso no se va a distanciar problemas recolectamos la gema y su instancia y el corazón tenemos que golpearnos para poder agarrar lo así que nos golpeamos.

Acá y el corazón perfecto la lógica hace que el corazón no instancia eso y el poner el game project en el corazón estamos evitando errores acá de game object is missing o algo así muy bien pasemos ahora al siguiente vamos ahora a instancia un efecto de muerte cuando nuestro jugador o un.

Enemigo muere en este caso enfoquémonos en nuestro jugador vámonos a los assets judit pla formar graphics y tenemos por acá en colectivos vamos a dar enemies y acá tenemos el enemigo así que vamos a jalar acá este en la mitad y vamos a crear una animación para.

Esto así que vámonos a los assets animations 10 que caen vamos a jalar este primero y esto es como ya venimos haciendo va a ser similar a lo que hicimos anteriormente para el otro efecto de pickup entonces declaramos acá esto.

Los ponemos en el segundo grabemos en el 3 para desaparecer el sprite declaremos acá en los assets donosa scripts y destroy overtime se lo vamos a pasar acá y vamos a decirle punto 5 probemos esto ese es el efecto de muerte.

Entonces acá no está hallemos esto así y ahora si no debería haber ningún problema ya está el efecto de muerte funciona bien ahora voy a poner 10 y voy a jalar los brif apps vámonos a prince y defecto podemos borrar el df de acá vámonos.

Entonces a nuestro player health controller hagamos referencia al game project el defecto siendo público game project defecto y cuando morimos entonces en dios de amet si es que estamos muriendo acá entonces vamos a lego manager acá vamos a decir.

Instance gate 10 de efecto y para poder decir la posición vamos a decir dónde se encuentra el jugador así que player controller punto instance punto transform punto position y también.

Agarramos la rotación y listo guardemos ahora vamos a morir entonces vámonos a nuestro player y vamos a asignar nuestro health control tenemos nuestro defecto asignamos entonces vamos a morir.

Y listo morimos aparecemos en nuestro checkpoint y ahora nota que cuando morimos nos falta actualizar correctamente el uruguay así que vámonos a nuestro uruguay controller de hecho en el player health update acá healthy way con el jugador responde a el lego manager.

Queremos acá en el raspón actualizar el uruguay así que acá después de darnos vida acá después de darnos vida vamos a decir control y hoy vamos a ver esto de nuevo acá vamos una vez más a probar que esté funcionando todo bien morimos cuando le di a play me olvide.

Asignarlo de nuevo si los signos mientras estás en play no se va a guardar los efectos acá el de hacer check los signos vamos a morir entonces y hasta hacer se prende y ahora si la vida aparece bien muy bien correctamente ahora sí vamos a asignar en el player acá el defecto vamos ahora si se va a guardar muy bien pasemos el próximo.

Vídeo vamos ahora a crear a nuestro primer enemigo entonces vayamos a nuestro tour y plataforma assets vamos a graphics en enemies vamos a jugar con la rana entonces hallemos a la rana acá vamos a trabajar con la rana por acá entonces tenemos a la rana voy a.

Posicionar la correctamente y ahora donde sea que se encuentra la rana voy a decirle de nombre prox wright ahora voy a darle clic derecho create empty y voy a decir enemy from a este objeto y voy a sacarlo de acá y voy a ponerlo encima y ahora afrox bright va encima de enemy frog ahora le vamos a agregar la animación.

Así que vamos a crear rock idol nos vamos acá hacete animations y lo grabamos vamos a entonces a animar a la rana para animar a la rana vamos a jalar de acá voy a agrandar esto un poco el primero vamos a ponerlo acá vamos a dar la play.

Vamos a dar la preview y acá nota que tenemos 2 ahora presta atención como vamos a hacer la animación estamos prestando estamos dándole el animator acá al paint object pero vamos a darle al record botón de acá vamos a dar clic en el objeto de abajo donde está el sprite render y ahí vamos a.

Agregar todas las animaciones que queremos así que para la rana acá vamos a agregar primero la animación donde está parada así luego le agregamos está está está y luego lo regresamos acá.

Y luego para que la rana no se quede haciendo esto constantemente vamos a poner acá en el segundo de aquí para que sea más natural ahí está muy bien tenemos a la rana ahora vamos a agregarle acá al enemy de afuera hace vuelto de eliminar este spray prender sólo quiere hacerle acá.

Ahora nota que acá el n micro que tiene un sprite render borremos este asegura teclista render que estás usando es este de acá y no el de acá entonces probemos nuestra animación de nuevo puedes ver sale en el fracc missing vamos a volver a hacerlo pero enfocándonos en este sprite prender si agregas las animaciones como venimos.

Haciendo normalmente vas a notar que se van a crear duplicados acá entonces para evitar estos duplicados vamos a primero borrar el sprite render vamos a borrar estas animaciones vamos a venir acá vamos a darle click a animated animation para empezar a animar vamos a darle click por acá y ahora venimos a la al marco donde queremos.

Animar vamos a jalar el sprite acá entonces nota cómo se está animando y ahora es así como vamos a animarlo desde acá y es de esta manera que vamos a evitar que se dupliquen [Música] entonces podemos copiar acá copy paste control se control b.

Y ahora vamos a poner acá para dejar de grabar y nota que esta vez no hay sprite prender ya casi estamos correctamente haciéndolo finalicemos nuestro enemigo dándole un reading bold y entonces brigitte burdin vamos a decir que es quien matic para que no se vea afectado con su gravedad esquí de matica y vamos a agregar un box.

Colíder entonces vamos a decir box con leader vamos a decir que es trigger y acá tenemos el colíder del enemigo quizás el colíder lo hacemos un poco más chiquito acá y listo vamos ahora a hacer la lógica para que nuestra rana pueda moverse en nuestra.

Escena voy a ubicarme acá en el ruiz para el tablet y voy a limpiar esta área de aka borrando y voy a dibujar algo así para que nuestra rana pueda caminar por acá y se vea bonito entonces vamos a la jerarquía y ahora vamos a ubicarnos en el enemigo.

Frog y vamos a crear un libreto que va a ser el de mi control de vamos a scripts create script enemy controller abramos el libreto y asignemos lo al enemigo kaká así que vamos a primero acá en el emmy controller definir en la velocidad del enemigo así que público.

Y lo vamos a decir move it esta va a ser la velocidad del enemigo vamos ahora a decir public transform y ahora queremos que nuestro enemigo se mueva de izquierda a derecha dado los puntos que nosotros queremos los waypoints así que vamos a crear acá el left point break point así que le point.

Y right point ahora tenemos que decir si el jugador si el enemigo se está moviendo a la derecha oa la izquierda así que private bull y vamos a decir moving right finalmente vamos a agarrar el componente del cuerpo rígido del enemigo para moverlo así que river racing body tutti y lo llamamos del basic body.

Agarremos primero el cuerpo rígido así que vamos a decir trichet body es igual al get component brigitte body y ahora lo que queremos hacer es crear los dos puntos que van a hacer lectura así que vamos a la rana acá tenemos los frank sports los transformers vamos a decir create en ti este es el lector lo voy a poner acá voy.

A duplicarlo voy a poner el segundo acá nota que están ahorita siendo hijos de este padre este jerarquía pero vamos a escribir en código para que no sea un padre de la jerarquía cosa que cuando la rana se mueve los puntos no se van a mover así que acá vamos a hacer eso vamos a decir que el let point punto.

Parent es igual a null y right point punto parent es igual a nula ahora demos la play y nota que cuando movimos a la rana los puntos se mantienen en su sitio ahora si tenemos dos left point y right point así que asignamos.

Vamos a darle play para probar lo que hicimos con left y right y ahí apenas empieza el juego se van de la escena y acá están 12 puntos así que no importa si la rana se mueve los puntos se quedan en su sitio vamos ahora a hacer el movimiento de la rana va a ser similar teoría que cuando nosotros movimos a nuestro personaje.

Entonces vámonos a nuestro enemigo control there donde estamos acá y ahora estamos haciendo acá referencia a nuestro fútbol y vamos también hacer referencia a nuestro sprite render de la rana para poder hacerle la inversa de su imagen cuando se mueve a la derecha oa la izquierda así que vamos a decir public y vamos a poner sprite render.

Le llamamos de sprite render punto y coma ahora acá vamos a empezar en la función adáptate a escribir nuestro código entonces vamos a primero decir si es que nos estamos viendo a la derecha entonces mobbing right vamos a usarlo acá vamos a decir if 'moving' right si nos estamos moviendo la derecha vamos.

Primero a aplicar movimiento entonces velocity es igual a new vector 2 y le aplicamos la velocidad de speed y la velocidad en zeta y perdón se puede quedar igual así que y la velocidad en ingresen y se queda así que deriva de velocity punto y lo dejamos así.

Y eso es muy bien right ahora queremos que la imagen del personaje se mueva a la derecha así queda grande en el punto flip x va a ser igual a true y ahora si el transform posición de x es mayor que el transfondo del right position entonces cuando ya llegamos al punto moving right va a ser falso porque tenemos que.

Eventualmente parar así que transformó station de x es mayor que el punto que dijimos así que right posición en este caso moving right va a ser falso ahora acá vamos a decir en el caso de que estemos moviéndonos a la izquierda así que vamos a agarrar else aplicamos velocidad acá.

Pero el move speed va a ser negativo para irnos a la izquierda en este caso y del flip va a ser falso porque no necesitamos limpiar nuestro personaje en ese caso y ahora tenemos que hacer esto inverso así que agarramos acá y decimos que si el transform posición de x en este caso ahora es menor que el left position.

De la posición de x moving right va a empezar así que va a ser true para qué acá es la exposición así que la exposición sprint y con esto el personaje se va a empezar a mover lo vamos a ver tenemos los puntos vamos al frob ya tenemos que darle el spray de vender.

Este de acá el mundo speed va a ser de 3 vamos a empezar y nuestra rana se mueve llega acá se mueve y ahí tenemos una rana que tiene la lógica de los jugos de los okupas como 'mario vamos ahora a agregar pausas en el.

Movimiento de nuestra rana para que no parezca tan robótico vamos al libreto del inem y controller y vamos a agregar clouds acá variables flow para contar el movimiento el tiempo de movimiento que vamos a tener el tiempo de espera entre movimientos y luego vamos a contar hacer un conteo para poder llevar la cuenta del tiempo entonces vamos a decir public.

Cloud move time va a ser el tiempo de movimiento y weight time luego vamos a agarrar acá private cloud vamos a decir move count y weight count ahora vamos a definir esto acá en la función de start entonces cuando recién se empieza nuestro personaje vamos a.

Decirle moving right es igual a true para que empiecen moviéndose a la derecha y luego acá el move count va a ser igual a move time para activar el tiempo el bus count entonces ahora queremos limitar el movimiento de nuestro personaje si es que busca un t es mayor que 0 o sea así.

Podemos movernos así que acá en el update tenemos todo esto que es el movimiento vamos a ponerlo dentro de un así que if move count es mayor que 0 entonces vamos a poner todo esto ahí y ahora queremos empezar el conteo de move sound para decir entonces reducir.

El tiempo move count es menos igual a time punto delta time así empezamos el conteo así que también punto desde time empezamos el conteo y ahora queremos decir que ocurre cuando busca donde es menor o igual a cero así que después de este else vamos a decir y move count.

Es menor o igual a cero vamos a decir que el white count es igual a white time y así podemos reiniciar el conteo ahora acá tenemos nuestro els if qué pasa si es que nuestro white count es mayor que 0 entonces white count mayor que 0 en ese caso que white count sea mayor que 0 vamos a empezar el.

Conteo así que white count empieza hasta en punto desde time y aplicamos velocidad de movimiento así que decimos y acá aplicamos la velocidad de movimiento pero en vez de decir mucho speed le decimos que pare así que vamos a decir cero pero movimiento.

Ahora acá vamos a decir qué pasa si el white count es de nuevo menor o igual que cero así que fue de count menor o igual que cero acá dijimos move count acabamos de decir wait count way down le decimos move count ahora en vez de decir wait time para.

Hacerlo más aleatorio podemos decir random punto range abrimos paréntesis le pasamos el white time y esto lo multiplicamos punto 75 al rango de 1.25 entonces 175 al rango de white time x.

1.25 efe hagamos lo mismo para move time así que acá que podemos copiar el random reid y acá en vez de decir weight time vamos a decir move time guardemos y ahora podemos probar este movimiento de la rana que vamos a utilizar el white.

Count y el move count para poder así hacer un tiempo en el tiempo que empezamos a movernos pasan 3 segundos por ejemplo paramos un segundo y luego volvemos a movernos por 3 segundos así que vámonos a la rana acá y tenemos el move time y el tiempo que la rana se mueve y tenemos el tiempo que la rana espera vamos a darle a cada play.

La rana ahora va a ir a la derecha 2 3 va a parar 1 2 y va a seguir ahora si se ve mucho más realista hablamos ahora la animación para cuando la rana se está moviendo vámonos acá al enemy frob vamos a ubicarnos en el fox pride dale click acá al frob iron para movernos a la carpeta donde se encuentran las.

Animaciones y acá está program vamos a darle click a enemy fox animation y vamos a crear aca reinu clip nos vamos a nuestros assets animations y acá vamos a decir rock jon ahora acá para poder hacer esta animación de nuevo igual nos ubicamos aca en el peru game over le vamos a grabar nos vamos al sprite.

Y ahora vamos a utilizar este primer este segunda imagen como primera acá luego vamos a ponernos en el 10 vamos a usar esta otra y luego en el 20 cuando estamos cayendo podemos caer acá y ésta la podemos copiar copy podemos esperar por ejemplo 5 segundos y se queda ahí ahora tenemos el movimiento.

Vamos a darle play parece un salto pero no está moviéndose vamos a moverla a la rama entonces empieza la rana saltando desde acá cuando está aquí la rana ha saltado hasta acá y es importante que te ubiques en donde estás en el sprite no en el gameplay de arriba recuerda.

Y acá la rana nuevamente vuelve a caer entonces tenemos una rana que salta ahora vinculemos esta animación con nuestro personaje vámonos al animator vemos el frob champ hagamos el vínculo ahora acá vamos a definir the frog air la fracción vii del frob air pero primero vamos a crear un parámetro que va a ser un bully va a ser es moving.

O nos movemos o no nos movemos hacemos la transición y ahora acá vamos a hacer no exit time to fix duration 0 y de jump a fraga el significa que no te estás moviendo y de fraga y de jump hacemos lo mismo significa que si nos estamos moviendo.

Vayamos al código ahora y accedamos a nuestro animator a través de nuestro enemy controller tenemos acceso a nuestro anime editor vamos a decir private animator le llamamos anim venimos acá decimos ánimo es igual a get component y vamos a llamar a animator.

Donde nos estamos moviendo vámonos todo abajo y acá en el move count entonces aquí aplicamos la lógica de movimiento hacemos ánimo punto set bull le decimos que es móvil y vamos a decirle truco nos estamos moviendo y donde paramos entonces después de esto acá vamos a decirle is moving false pero vemos ahora esto estamos acá.

Nos movemos tenemos la rana que salta se mueve a esta de la rama vemos la escena la animación de nuestra rana nota que quizás está muy rápido para ti vamos a hacerlo más lento vamos a controlarla la curva de animación entonces seleccionemos nuestra rana.

Pongámonos en el jump y lo primero que puedes hacer es extender los tiempos acá entonces podemos decir que esto dure a 30 por ejemplo y esto lo extendemos a 15 y ahora los tiempos son más lentos así esa es una opción a la otra es editar las curvas vamos a hacer clic acá en curvas vamos a agrandar acá nuestra curva.

Y ahora nota que cuando cambiamos esto vamos a hacerlo así voy a darle play nota que la rana cambia su forma de saltar también puedes ver que la real está cambiando su forma de saltar ahora otra manera de cambiar la forma de saltar la rana es presionar en las anclas presionar control entonces presionas la ancla.

Personas control y puedes moverlo de esta manera para encontrar una buena curva y acá también lo mismo a cada control y lo mueves de esta manera hasta encontrar la curva deseada le damos a play y ahora la rana tiene más control en el aire vamos a darle ahora a nuestro personaje la posibilidad de poder matar a los.

Enemigos tenemos a la rana que salta y nos puede hacer daño ahora queremos nosotros poder hacerle daño a la habana así que ubiquémonos en nuestro player acá estamos con el player tenemos ahorita un round sé que vamos a la escena el player estamos haciendo un round check acá tenemos el objeto vamos a crear un nuevo objeto write en ti y se.

Va a llamar red box ahora este redbox vamos a agregarle un con líder vamos a hacerlo un box con layer 2d y vamos a bajarlo pongámoslo en el piso en los pies del jugador para que cuando golpeamos algo con nuestros pies podamos destrozarlo muy bien ahí tenemos los pies ahora queremos hacer es todo un trigger y.

Vamos a crear un libreto a uno saca assets scripts create sigue script vamos a decir red box hallemos el libreto del hide box acá y hagámoslo ahora en nuestro hide box queremos primero borrar esto acá porque no lo vamos a usar vamos a hacer un androide / para poder saber cuando estamos.

Golpeando a algún colíder entonces escribe entre dos de y vamos a buscar por un tag que sea de enemigo entonces venimos gustan buscan ahorita y poder punto tal que es igual a player este vamos a decir enemy 4 el punto de que es enemigo vamos a aplicar el daño que queremos hacer primero.

Queremos ver si lo estamos golpeando así que vamos a usar un director para ver que lo que hicimos está funcionando vámonos acá y donde estamos con el enemigo es el enemigo que vamos a decirle en tag enemy así que tenemos que crear un nuevo tac y se va a llamar ka enemy vamos ahora de vuelta al enemigo que.

Vamos a darle el tag memoria play volteamos acá entonces vamos ahora a hacerle daño al enemigo a esta hits hemos golpeado continuamos entonces trabajando nuestra lógica para hacerle daño otra cosa que queremos es desactivar el enemigo cuando lo.

Golpeamos y queremos instancia un efecto de de explosión como de muerte entonces hagamos primero que el efecto de muerte vamos a decir public que inma project y ya tenemos el efecto vamos a decir de ese efecto y vamos a usar el efecto de nuestro personaje cuando muere acá vamos a quitar ese tipo cloud punto hit y vamos a decir punto.

Transform print punto game object punto abrir un paréntesis false así vamos a desactivar toda la rana el objeto print de la rana acá en game freak tendremos que poner punto z active y es falso ahora queremos distanciar el efecto de efectos y qué instancia de efecto y.

Tenemos que decirle dónde se encuentra la rana misma así que vamos a usar other punto transform punto posición y rotation con eso estamos listos vamos a guardar y probemos lo que hicimos tenemos que asignar el efecto desde efecto entonces acá el inem y freud que tenemos en nuestro heat box de hecho el.

Efecto que queremos distanciar vámonos a assets ruiz apps y este es el defecto vamos a darle clic a nuestro height box hallemos el defecto y ahora la tenemos aún una rana ap reference not the turning tensión abierta heart vox de ese efecto pongamos el tc effect.

Y ahora demos la play muy bien nota muy importante le pusimos acá el frog el tag the enemy vamos a darle el tarde enemy al frob sprite que es el que tiene el colíder que queremos hacer colisión entonces voy a ponerle a cada uno con la ideal enemy frog vamos a poner box.

Colíder lo editamos de esta manera porque si no al momento de buscar el objeto verde no vamos a encontrarlo muy bien entonces arreglamos eso el colíder en vez de tenerlo en enemy froc lo tenemos en el fox sprite le damos como enemy y nuestro código es este bien sencillo vamos a darle play y ahora si deberíamos poder registrar al jugador y.

El enemigo golpeándolo entonces lo golpeamos desde arriba y ya está ahora queremos hacer que todo el golpe se sienta mejor también quiero quizás acá en el hard box de nuestro jugador vamos a hacerlo un poco más grande para registrar mejor el golpe y listo.

Con eso estamos haciéndole daño a los enemigos ahora queremos poder saltar cuando golpeamos al enemigo vamos a hacer que nuestro enemigo haga un pequeño bounds cuando golpea a los otros enemigos entonces nuestro jugador va a saltar cuando golpea abramos acá y vayamos a nuestro player controller así que voy a abrir el.

Libreto de player control del este es el libreto que se encarga de hacer el movimiento de nuestro jugador acá en el salto podemos poner una variable que sea el bones force así que podemos poner public down words tenemos que decir cuánto va a ser el vamos fuerza caso pnv load vámonos abajo y creemos una función que.

Sea el bounce entonces para el exploit bound abrimos acá paréntesis y ahora nuestro vamos vamos a hacer el derbi del body punto velocity es igual a new vector 3 sector 2 de hecho porque el movimiento es 2 de vector 2 de luigi poggi punto veloz y tiene aquí en x lo dejamos sobre veloz y tiene y le aplicamos bones.

Wars y listo con eso estamos listos ahora cuando hagamos el hide box queremos llamar al mount así que vamos a aplicar play control there punto instance punto bounce ahora guardemos algunos en nuestro jugador y afectemos el bounce así que acá en player vámonos a donde tenemos nuestro.

Salto bounce force podemos decir 3 por ejemplo ahora juguemos y cuando golpeamos se siente mucho mejor hay un pequeño pounds vamos ahora a darle un chance a nuestros enemigos para que voten pickups cuando mueren así que vámonos a nuestro libreto de redbox gain redbox vamos a crear un pequeño chance to drop así que acá vamos a decir.

Público loud y se me marchands tu ropa este es el chance para que nuestro enemigo vote un 50% 20% lo que querramos así que vamos a aplicar el bound después de que instancia mos el efecto de effect tenemos el de cfk apagamos el jugador instancia mos el efecto de de aplicamos el bones y acá abajo vamos a decir flow.

Y drop selecto hacer una variable que vamos a crear solamente en este contexto vamos a decir es igual random punto range para tener un rango aleatorio de 0 a 100 y con esto podemos escoger en nuestro europa así que ypfb select es menor o igual a chang rok transductor vamos a hacer un rock así que vamos a.

Hacer instancia instance gate este va a ser un colectivo así que colectivo podemos poner acá una nueva variable que sea el colectivo así que arriba acá podemos decir public game project con un activo es el ítem que vamos a votar así que as ponemos el colectivo y lo vamos a exponer en el área de donde.

Se encuentra el jugador enemigo así que vámonos aquí vamos a decir a ver punto transforma posesión ya despuntó transformer station entonces con esto tenemos un chance de que nuestro enemigo vote un ait en vamos a redbox colectivo le va a ser una para darnos vida el chance futuro vamos a decir que se asiente entonces vamos por acá matamos a.

Nuestro enemigo y nos vota un colectivo ahora hagamos esto más efectivo vamos a hacer que en nuestra instancia acá en vez de salir esto de esta manera vamos a poner un slider que va de rango de 0 a 100 así que acá arriba vamos a decir en chance to drop le vamos a dar un rango así que abrimos brackets cuadrados range y va a.

Este rango de 0 a 100 pero siendo guardemos y ahora estoy public cloud notan la diferencia ahora es así podemos airear lo mucho mejor otra cosa que puedes hacer es darle enter y guardar el rango acá también se puede guardar así entonces son dos maneras de aplicar el rango a una.

Variable de flow con esto hecho tenemos nuestro chance para votar una ítem cuando matamos al jugador al enemigo ahora solamente nos falta agregarle a nuestro enemigo un box colíder para que nos pueda hacer daño así que voy primero ajustar el box de nuestro jugador y ahora vamos a ubicarnos en el enemigo y nota que en el frog sprite tenemos el.

Box con líder que se encarga de registrar el daño que nosotros le hacemos al jugar enemigo ahora en el enemigo aquí vamos a crear un nuevo box colíder vamos a poner box con la virtud y y vamos a editarlo entonces acá lo editamos para que todas las ranas nos haga daño si es que la golpeamos así que.

Tenemos que hacer que esté colíder baje así y lo único que no nos va a hacer daño son sus ojos porque si le golpeamos en los ojos podemos ganarle así que ahí tenemos eso vamos a hacer esto un trigger ubiquémonos en el fox bright y editamos este colíder ahora para que los ojos a.

Nosotros golpearlos podemos matar a la rana ahí tenemos el coladero de la rana ahora démosle a play el juego y noté la rana vamos a seleccionar a la rana mira sus co líderes como se están moviendo este colíder no se está moviendo correctamente el que hace daño.

Entonces primero vamos a alinear y frank darle el libreto de dammery player como le dimos el libreto a las púas este libreto de the damage player le va a hacer daño al jugador pero queremos que el colíder se mueva con la rana vámonos a nuestra animación y donde tenemos la animación de salto ubiquémonos en la rana vamos a grabar y.

Ahora justo donde la rana está saltando acá queremos mover el color el colíder con la rana así que en el colíder de acá en el offset nota como el yen puede subir con la rana así que vamos a subir con la del junto con la rana ahí tenemos el colíder con la rana así que tenemos algo así cuando la rana.

Salta al colíder salta con la rana y cuando la rana cae el colíder vuelve als a su posición normal muy bien en este caso la posición normal sería un poquito más abajo así que vamos a copiar esta de acá y vamos a pegar laca.

Y acá también tenemos que asegurarnos que está todo bien ahora si tenemos un colíder que sube con la rana pero creo que podría ser mejor el colíder muy bien veamos esto en acción ahora cuando le damos play seleccionamos a la rana y ahora hay un mejor con líder que nos permite saltar.

Entonces es cuestión que trabaja en la animación de tu rana y el colíder veamos entonces cómo podemos mejorar esto en las animaciones vamos a nuestro guión tenemos el colíder acá cuando la rana salta quizás quieres que cola desde arriba acá así que el colíder ahorita se está moviendo a esta altura pero quizás nosotros.

Queremos que el colíder se mueva con la rana así más rápido todavía tenemos nuestro con líder se mueve con la rana ahora queremos mantener el colíder arriba así que podemos copiar este frame y dejarlo acá tenemos un colíder que viene así pero la caída es muy rápida pongamos.

Otro tema acá ahí está es cuestión que trabaja es así con tu imaginación y con tu poder de trabajar animaciones esto se ve un poco mejor porque el colíder está siguiendo a la rana en todo momento muy bien ahora si caminamos por acá se siente mucho mejor ahora vamos acá.

Corramos e intentemos es evitar la rana bueno evitar la realidad un poco difícil pero vamos a golpearla la matamos tienen color en los ojos y también nos hace daño ahora que hemos implementado en la mecánica de los enemigos la siguiente mecánica que queremos implementar es el audio vamos a agregar efectos de sonido.

Así que para hacer eso vamos a darle create game anp set y vamos a crear un audio manager este manager se va a encargar de todo lo que es audio en el juego así que vamos a crear primero acá en assets y scripts vamos a crear un libreto se va a llamar audio manager y es lo que vamos a usar acá vamos a jalarlo a este.

Objeto abramos el libreto y ahora carguemos el audio manager con los audios que vamos a usar assets tutti platform and audio tenemos sound effects hallemos todos estos efectos de sonido a la escena de esta manera y cada uno de estos efectos tiene su propio audio srs nota como el audio clip viene del audio.

Solo es aquí y algo importante con doha las sonido de esa manera siempre va estar en play on away que lo que significa que si le damos play al juego todos estos sonidos van a darse play no queremos eso queremos que solamente se emplee cuando nosotros lo llamamos así que vamos a primero jalar los sonidos al audio manager y los tenemos de esta.

Manera ahora queremos asignar los sonidos los objetos de sonido a nuestro audio manager para poder llamarlos cuando queremos hacer algún tipo de audio así que primero vamos a declarar nuestro audio manager como una instancia porque tenemos que llamar este libreto de cualquier otro libreto que quiere jalar audio así que audio manager.

Instance vamos a decir instante es igual antes y ahora queremos primero crear una matriz que contenga a todos nuestros audios sources así que sea un defecto en este caso vamos a poner al de audio source para poder hacer referencia al componente de audio que vimos audio source matriz y queremos llamarlo.

Sound affects ahora veamos esto entonces tenemos nuestra matriz del sound effects estamos agregando audio suárez o sea esto de acá hallemos todos de esta manera vamos a primero hacer clic en un audio manager y darle al candado le damos clic a todo esto y lo salamos así y se agregan le volvemos a dar el candado para que.

Podamos volver al inspector donde queremos ahora tenemos cargado todo sea un defecto es cuestión de llamar esto sea un defecto cuando querramos así que acá en el audio manager vamos a crear una función que sea play sound affects play sound affects para poder recorrer y el sonido que vamos a pasarles era el.

Sound to play que queremos correr porque tenemos una matriz con diferentes valores enteros acá este es el elemento 0 al elemento 11 así que queremos acá llamar a uno de esos elementos y para poder hacer eso vamos a decir sando effects brackets cuadrados y lo que queremos llamar es el sound play así escogemos el elemento entero que.

Queremos darle play y para poder hacer play corremos la función play ahora estamos listos para llamar a esta línea de código para llamar este libreto de audio manager cuando querramos vamos a correr play sound text ahora necesitamos asignar esto a algún tipo d con líder por ejemplo ahora necesitamos asignar este sound efecto donde queremos.

Llamar el sonido red box por ejemplo canal red box cuando hacemos daño después de hacer el soundtrack vamos a llamar el audio manager punto instance y decimos place en defecto y le vamos a pasar el número entero número 3 el número entero número 3 0 1 2 3 n me.

Explotó o sea la muerte del enemigo guardemos vayamos acá y matemos a esta rana para ver si el efecto suena ahí está cuando matamos la rana corremos el efecto ahora que hemos agregado los efectos de sonido te reto a que agregues tú mismo los efectos de sonido que ves necesarios.

Acá en el audio manager nota tenemos voz hits vos impact y vos yo todavía no hemos trabajado con el jefe enemy exploit ya lo agregamos lejos del decreto todavía más movement todavía pick up game y pick up el tenemos que agregar lo player de la ley de jump así que agregamos todos estos efectos de sonido pick up game vámonos al libreto.

De las gemas así que dentro del pick up si es una gema y fitz james vamos a llamar audio manager así que para ahorrarnos el tiempo podemos hablar acá audio manager punto instance punto play sound effects así que si es una gema vamos a correr el efecto de sonido de gema ese es el número.

6 así que vamos a poner acá el número 6 y vi que el número 7 es el de la vida así que acá play número 7 veamos 6 y 7 perfecto ahora voy a guardar acá esto de los picados y esto es básicamente lo que quieres hacer para todo lo que tenga efecto de sonido vamos a agarrar la gema ahí está.

Ahora la vida vamos a tomar daño a esta nuestra vida ahora hagamos el efecto de sonido que sigue en el hard y playón play usted cuando morimos entonces vayamos a nuestro player el control de emergencia vocal de ver si morimos entonces donde tenemos la muerte de acá si nuestra vida es cero vamos a correr el.

Efecto de play verdes así que ese es el 8 pleitez y por heart the heart es cuando recibimos daño así que si recibimos daño acá vamos a decir player heart aquí podemos pasar le vamos a decir instance en el 68 ese es el 9 guardemos estamos reduciendo vida cada vez que nos.

Golpeamos hacemos el efecto del hard corremos el audio y si estamos muriendo corremos el otro audio veamos esto hasta nos golpeamos vamos ahora a morir para morir podemos y eso no nos mata ahora cada morir como se debe entonces nos golpeamos ahora vamos a.

Morir quiero morir con el rock ahí está cuando morimos desaparecemos hizo en ese audio ahora hagamos el último audio que nos falta presión así que venimos aquí busquemos en el play control there buscamos el player controller y esto lo aplicamos cuando saltamos así que si hacemos un jump.

Así sea si se aplica el salto aquí podemos decirle audio manager play sound affects 10 llega también podemos agregar también el efecto en un de bullion veamos cómo se ve cómo suena esto entonces darle a play ahí está con los saltamos tenemos un mejor salto si no quieres que suene el de bojan.

Puedes borrarlo ahí está ahora tenemos los efectos de sonidos agregados ya sabes cómo agregar más efectos de sonido vamos ahora a mejorar nuestros efectos de sonido vamos a la gema y caen nuestros efectos de sonido cuando tenemos varios art am.

Varios de estos artículos por ejemplo tenemos tres pick up vamos a poner más pickups obtenemos a sí cuatro picados por ejemplo vamos a agarrar todos es el mismo sonido y a veces eso se hace muy repetido y muy aburrido también escuchar ese tú tú tú del salto se hace bien fastidioso así que lo que vamos a hacer es venir en nuestro audio manager y.

Vamos a asignar diferentes pips mirá acá cuando venimos al audio manager tenemos en player pick up tienen por ejemplo el pitch vamos a darle play voy a recoger una así voy ahora a cambiar el pitch y voy a volver a recoger entonces suena distinto cada vez que recogemos una para poder hacer eso vamos.

A asignar un rango así que en sound play tenemos primero siempre queremos hacer sound effect y nos aseguramos que estamos dándole a stop a uno de los efectos de sonido punto stop antes de correr el otro efecto de sonido de play ahora en el medio de estos dos vamos a asignar el pitch así que lo mismo a casa un to play pero vamos a entrar al pitch.

A esto de acá al pitch y vamos a editarlo así que aquí le decimos punto pitch es igual y vamos a agarrar un rango aleatorio que vaya del 0.9 efe al 1.1 efe y ese va a ser el rango que tenemos acá en el pitch veamos lo que hicimos entonces esta nota cuando saltamos el salto ahora no se.

Siente tan aburrido se escucha distinto cuando te golpeas también tienes un rango aleatorio mucho mejor que solamente tener el mismo sonido siempre vamos ahora a agregar la música al juego así que hemos agregado el sound effects damos click derecho rick dempsey maps y activamos a agregar primero music y todo.

También vamos a agregar sound efecto así que acá vamos duplicar y decir s fx hallemos estos dos game apdayc sal audio manager y nuestro sound affects vamos a ponerlos donde se debe y la hora la música vamos a nuestros assets audio music y tenemos el main de la caja la música del primer nivel y también tenemos level víctor y cuando.

Ganamos lo primero que hacemos es que no está del pleno wake y el loop voy a jalarle el plane web a los dos pero el main 'label si queremos tenerlo play una wake para que corra y también queremos hacer que sea un loop para que cuando acaba la música vuelva a correr ahora hallemos estos dos a su sitio respectivo en la jerarquía y queremos definir el.

Output para poder controlar el audio porque ahorita no tenemos control del audio en el juego ni nada así que acá nota que tengo el audio mixer para abrirlo vamos a windows audio audio mixer y se te abre este audio mixer vamos a darle al más y vamos a decir master este va a ser el mixer que controla todo el audio hasta donde fex y.

Música y acá dentro del máster vamos a crear un grupo damos clic a el master y le damos a más y decimos music y volvemos a dar clic en el master le damos a más y decimos sound affects con esto tenemos dos mixer que son music y sound effects para controlar la potencia de sonido vamos a medir luego de dinero de victory y vamos a asignar.

Acá en el output vamos a decir music y ahora en el sound effects vamos acá seleccionamos todo esto en el output vamos a decirle sound affects ahora este slider controla todos estos sound affects y este slider controla toda la música queremos a través del código ahora en el audio manager decidir cuál es la música.

De background music y el life ball and music así nos vamos a preparar para que cuando terminemos el juego podamos programáticamente decir que el juego ya terminó y correr la música indicada también el background music del nivel así que vamos a decir public audio srs y vamos a pasar el background music y el.

Level and music guardemos y ahora tenemos todo el setup listo para poder llamar nuestra música cuando terminemos el juego cuando estemos ya haciendo el level end pero hasta ahora tenemos todo listo hemos agregado acá el main event music unos a nuestro audio manager.

Y digamos cuál es el mail nuevo music con ese nuevo víctor y con todo eso hecho vamos ahora a darle a play y veamos qué hicimos recuerda que mlb ahora audio mixer aca editing play mod ahí está listo veamos un sound effects ahora vamos a movernos entonces vamos al juego nuestro audio mixer nos indica cuándo.

Golpeamos un sound effects muy bien con eso tenemos el audio mixer ahora que tenemos nuestro juego funcionando vamos a empezar a crear los diferentes menús que tenemos para empezar a jugar el juego y seleccionar a niveles así que vámonos a nuestras escenas y vamos a crear nuestro main medio vamos a crear great sin llamarlo.

May you vamos a guardar nuestra escena de test en ustedes dos vamos a medir menú y acá en este main menú vamos a primero crear nuestro canvas que nos permite poder agregar las imágenes del menú y los botones entonces igual canvas recuerda que cuando trabajamos con un candás le decimos en constant pixel.

Tenemos que darle 1920 x 1080 para mantener el aspecto de la pantalla ahora que tenemos nuestro canvas dos clics en el canvas este es el canvas lo primero que vamos a hacer es agregar una imagen y botones así que en el canvas igual image esta imagen va a ser acá en assets tenemos en graphics.

Igual acá tenemos una imagen que podemos agregar vamos a jalar la así y se agrega la imagen vamos a darle presión a aspect y ahora es cuestión de agrandar todo como deseas entonces puedes darle acá así por ejemplo el cuadrado de hecho está muy grande ahí.

Está bien y ahora podemos ir agrandando esto conforme quieres una vez que encuentras el tamaño deseado pasemos a agregar los botones tenemos que agregar el start botón y el quit botón así que el canvas vamos a darle a cada botón y se agregan nuestros botones primero vamos a hacer el botón más.

Grande puedes seleccionar y con shift agrandar así el botón ahora este es el botón de play vamos a darle a play botón y lo llamamos play botón y acá le das click a la flechita y tenemos para trabajar el texto del botón vamos a decir que este es el start el botón va a decir start veamos qué pasa si le damos.

A best fit esa es una manera de mostrar el texto de start en best fit si no puedes darle a font-size y dar el fondo que quieras entonces tenemos nuestro fondo selecciona el fondo que quieras y ahora en el play botón en si nota que acá tenemos los tres elementos que es el sprite voy a borrarlo.

Y ahora nuestro botón necesita un sprite y vámonos a tu de plataforma graphics guay y estos de acá son los botones no está el botón verde cuando se lo agrego vamos a play botón y le agregamos el botón verde así es como se ve con el botón verde veamos cómo se ve con el botón azul vamos a play botón le movemos el botón.

Azul y nota que no se ve igual es porque el botón azul tenemos que recortarlo haz clic acá en el botón azul y si nos abre en el inspector para evitarlo vamos a darle sprite editor y queremos primero agarrar acá y recortar de esta manera los bordes así que seleccionamos los bordes que queremos recortar del la imagen.

Y una vez que tenemos todo listo le damos a play podemos cerrar esto y ahora sí cuando vamos a play y jalamos acá se arreglan los bordes de nuestro botón entonces eso es algo que quieres hacer ahora el texto está en negro de la imagen vamos a cambiarlo a blanco y el texto vamos a agregarle una última línea.

Así que vamos a decir out line y le vamos a decir que este 3 a 3 3 y 3 y ahí se está viendo un poco mejor seleccionamos el play botón y pongamos las más en el centro ahí está acá puedes ver cómo se va viviendo ahora queremos duplicar el play botón y todo lo que vamos a hacer es cambiarle el texto de start quit así que vamos a.

Decir quit botón y acá en el texto en vez de estar vamos a poner quit y con eso ya tenemos básicamente el escena lista para poder trabajar la lógica de los botones pero queremos también el pack ronda así que venimos a to de platform ers graphics vamos a buscar el background así que en el mundo.

Del art background podemos jalarlo acá muy chiquito vamos de hecho jalarlo acá a la jerarquía y ahora si se ve bien listo tenemos el título de imagen entonces tenemos la imagen tenemos los botones de start y de kuyt ahora que tenemos nuestro menú vamos a.

Darle funcionalidad vamos a hacer scripts vamos a crear nuestro script del main medios y que create y sharp script maine new así que tenemos el menú al libreto al menú así que en canvas acá en maine menú jalamos vamos a darle dos clics para abrirlo y ahora primero vamos a trabajar con escenas así que yo ni tianjin acá.

Los paquetes tenemos que agregar y united game in management sin management para trabajar con escenas ahora vamos a decir cuál es la variable que va a ser la escena inicial así que el starting sin la escena número uno vamos a poner public sin estar sin cuando le damos a start cuál es la escena que cargamos.

Y acá vamos a crear dos funciones así que vamos a decir public freud le pasamos start game para iniciar el juego y vamos acá cuando le damos a star game o sea el botón de start donde vemos click al botón de start queremos cargar la escena del primer nivel vamos a decir sin manager punto load thing y vamos a cargar starting.

Ahora vamos a copiar esto y voy a ponerlo trabajo en vez de estar game se va a llamar quit game y para poder cerrar el juego tenemos que decir application punto quit los paréntesis con esto cerramos la aplicación y está bueno esto tenemos nuestro menú ahora queremos asegurar estas funciones a los botones.

Respectivos uno va a ser para el botón de start y otra por el botón de kuyt vayamos acá el main menú primero asignemos cuál va a ser el nombre de la escena que vamos a cargar así que vamos a hacer singh se llama test 2 así que en el canvas acá en start si no vamos a decirlo test dos tienes que ponerlo como está escrito acá porque.

Si no no va a cargar bien tenemos eso ahora queremos ir el play botón y el quit botón y asignar los botones respectivos ahora nota que cuando tenemos acá nuestro why play botón tenemos la imagen del botón y también tenemos acá diferentes imágenes tenemos el target graphic de nuestro botón podemos.

Venir acá en assets to the graphics y guay volvemos al play botón tenemos el botón del gráfico inicial que es la imagen del botón pero cuando hacemos transición queremos hacer una transición por sprite swap eso significa que cuando tenemos el mouse encima vamos a poder cambiar el color y cuando damos click podemos cambiar.

También el color entonces target graphic tenemos el play botón si yo quiero en highlight sprite por ejemplo este de acá cuando pongo el mouse encima del botón start o sea poner color verde acá se pone verde y cuando le doy click osea press spray vamos a darle naranja.

Así que cuando le dé clic en el botón start se va a poner naranja hagamos el de kuyt le da cambiamos color team for speed bat y cuando le doy click se va a poner naranja ahora te asignemos el botón de play y su función respectiva dándole click a play botón abajo de esto tenemos el un click.

Que es la función que va a correr este botón cuando le damos clic dándole a más podemos asignarle un libreto entonces acá nos dice runtime only eso significa que cuando le damos a play esto va a correr así que ayuda acá le vamos a jalar el canvas porque el canvas tiene el el libreto que es el main menú acá tenemos el main menú ese es el candás y.

Es por eso que queremos acceder al main menú y la función de play botón que le tenemos por acá start game lo mismo con el quit vamos a decir acá un clic más jalamos el canvas porque contiene el libreto que contiene las funciones y acá en la en el libreto de main menú quit game tenemos la play.

Y antes de dar la play en build settings cuando estás agregando a sin manager las escenas quieres agregar había build settings todas las escenas que vas a cargar en el juego la escena principal la que recarga cuando recién abres el juego la aplicación tienes que ponerle un menú y tiene que ser la primera escena la escena número 0 después de eso.

Puedes poner cualquier escenas que quieres cargar puede ponerte es 2 y medio para cargar voy a dar la play y empezamos el juego voy a darle a start y empezamos acá empecemos ahora a crear nuestro menú de pausa así que vámonos a nuestros sims el test 2 sin vamos a crear nuestro menú de pausa el menú de pausa tenía que estar.

Creado adentro del igual canvas así que vamos a darle clic derecho y uruguay y vamos a agregar un panel vamos a dar dos clics acá para trabajar con nuestro panel y ahora nota cómo se ve acá en la escena para poder trabajar nuestro poner correctamente vamos a ponerlo color negro que es el color que se va a poner la escena cuando ponemos.

Pausa así se va a poner con estamos con pausa también el nombre del panel por post screen o post menú tenemos nuestro menú de pausa y ahora dentro del pozo screen vamos a agregar un título que nos indique que estamos procesados así que vamos a decir texto vamos a decir type text acá.

Podemos ponerle post text y el menú de pausa dice post estamos pausa dos vamos a cambiarle aquí esto y el color lo ponemos en un blanco pongamos los en el centro y agrandemos la imagen ahora el momento de agrandar la imagen tienes que también agrandar tu recuadro así que ponerle el tamaño que quieras y.

Ahora voy agrandando la imagen ahí tenemos post puedes ponerlo de esta manera con el fondo 6 así yo puede darle ap/steve it para crear el mejor fit ahora rim queremos agregar botones y guay para esto voy a guardar voy a regresar al main menú y acá en el canvas tenemos botones voy a guardar el play botón 1.

Saprissa a play botón voy a guardarlo porque no quiero tener que estar trabajando lo cada rato así que volvemos a assets things volvemos a nuestro test todos vamos a guardar el primer que guardamos de este 2 acá en higüey canvas post green tenemos nuestro post texto vamos a hacer rifas play botón no entonces posts.

Gringos texto vamos a agregar el play botón acá tenemos uno voy a darle al actor y fat completely porque es tenemos el play botón este de hecho es el continuo botón vamos a decirle visión para resumir la pausa tenemos el botón de visión que en su texto a decir región.

Luego tenemos vamos a duplicar este botón de visión lo movemos abajo y le cambiamos por el level select qué es el botón de level selecto así que acá le vamos a decirle al select este botón nos regresa al menú de selección de niveles y finalmente queremos poder también regresar el menú.

Principal así que vamos a decirle main menú este es el select botón y ya tenemos el main mini botón que dice mein menú ahora seleccionemos nuestros tres botones tenemos el gris y un botón posted lo voy a poder arribar prisión botón menú subamos acá para que se vea.

Mejor y ahora si estamos listos para empezar a trabajar la lógica de nuestro menú de pausa creemos ahora el libreto para poder hacer el menú de pausa tenemos nuestro post screen cuando lo activamos se activa así el menú de pausa vámonos al candás que es donde vamos a agregar el.

Libreto entonces estamos en el uruguay canvas en el ivai canvas ya tenemos un control de vámonos a scripts vamos a crear un nuevo libreto print station script va a ser post menú lo llamamos post men y salió y canvas y vamos a agregar lo que ahora abramos el libreto y empecemos a trabajar este libreto primero tenemos que decir cuál.

Es el post menú que queremos activar y desactivar cuando presionamos en la tecla de skype así que llamamos a un pub the game object que es el panel que queremos activar y desactivar post screen se va a llamar y ahora queremos decir si es que nuestro juego está pausado o no así que es post y ahora con esto listo vayámonos acá.

Asignemos el falso screen que es el panel de pausa acá como game object cuando presionamos skate vamos a activar y desactivar el menú de pausa vayamos acá y donde hacemos esto vamos a hacerlo en la función de update o vamos a decir que si nuestro input punto get it down el que queda aún es para el teclado si.

Estás trabajando con otra cosa quiere es poner botón de botón down abrimos paréntesis y el botón que vamos a usar va a ser la tecla de skype podemos llamarlo skype podemos llamarlo [Música] menú como para regresar al menú el botón de menú por ejemplo el botón de skype.

Entonces esto hace referencia al y unity input manager vámonos a window en proyectos de hecho vamos a edit vamos a project settings y acá en el input manager tenemos acceso al input manager voy a crear un input que sea el botón de skype tenemos submit por ejemplo que es el botón de enter queremos uno que también sea el menú voy a crear a cada.

Uno voy a darle a 19 para agregar uno nuevo y acá abajo vamos a llamarlo menú porque ese es el nombre que le estoy dando el botón de menú y la tecla que necesitamos presionar en la tecla de skype para poder llamar al menú ahora nota que cancel también tiene la tecla de skype así que voy a borrar cáncer clic derecho literalmente.

Ya tenemos el nuevo menú se llama menú ahora si cuando digamos menú vamos a hacer get botón down queremos activar una función que se va a llamar post post y le vamos a crear ahora mismo entonces creemos la función postal post vamos a decir public boyd los campos y acá queremos decir si estamos en pausa.

Vamos a hacer que el tiempo del juego sea cierto y si no estamos en pausa vamos a hacer que el tiempo del juego sea 0 o sea vamos a pasar del times kill de uno y de cero para poder pausar el juego a qué me refiero vamos a decir if nuestro juego está pausado vamos a si estamos pausados entonces es post vamos a decir es igual a false.

Acá vamos a poner un 2 en caso de ser el caso contrario mi esposa es igual otro tenemos las dos lógicas ahora en caso de que sea falso vamos a poner post screen que es el objeto que queremos activar y desactivar set active false para que se desactiven en la escena.

Y ahora vamos a decir que el time times que esto es lo que va a hacer que se pausa el juego y se continúe 1 efe significa que el tiempo es normal así que el juego va a continuar vamos a copiar estos 2 trabajo vamos a decir se active club y el times que él sí lo hacemos 0 el tiempo ya no va a moverse.

Entonces tenemos acá para el botón de pausa y pausa éste es cuando presionamos el botón de skype y cuando presionamos vision llamamos esta función queremos ahora a llamar alero select así que sin manager vamos a decir public hoy vamos a crear una función para el ego select.

Y esta es la función que vamos a asignar al botón de level select que tenemos acá la de posa en poses para el botón de agresión la del nuevo selector y para el nuevo select y esto es bien sencilla la voz al lector y cargar un nivel llamado ledo manager así que vamos a decir sin manager recuerda que para trabajar con escenas tenemos que llamar al unit y sin.

Engine sin management de acá arriba así que sin manager para cargar una escena punto load slim y la escena que vamos a cargar va a ser la bolsa electro esta va a ser la escena del debut selecto que vamos a cargar tenemos que asignar esta escena así que vayamos a asignarle acá en las variables tenemos que asignar el nombre como.

String como hicimos anteriormente de elebol de the main yo vamos a decir públicos string el bolso lector y main menú tenemos nuestras dos escenas ahora aquí abajo tenemos nuestro nuevo sol directo y ahora cargamos nuestro mail manuel lo mismo que le voy a decir.

Solamente que vamos a cargar la escena de maine menú y con él si no vamos a cargarme en menú vámonos ahora a guardar esto y asignemos las funciones a los botones así que en posts ruina acá vamos a pasarle al inspector clic en el inspector gris y un botón primero el front time los álamos del you by canvas.

Que contiene las funciones y acá vamos a la función de post menú y elvis y un botón va a seguir la lógica de pausar y de expulsar así que pasan post red bulls electo vamos a venir acá le jalamos el chivo y canvas y la función va a ser la de la voz select y me va a tener la función de main medio vamos a darle play pero antes vamos a.

Quitar el paso screen para que se active cuando nosotros lo activamos con skype le damos el juego pausa y continuamos acá nos está diciendo que input botón canceles no se está porque lo borré te acuerdas en el project settings quizás no debería hacer eso vamos a duplicar el menú acá luego ha cambiado de nombre cancela.

Solo que voy a quitarle el input the positive botón para que no se vea afectado ahora si cuando le damos a play vamos a limpiar la consola para mantenerlo limpio ahí tenemos todo funcionando bien vamos ahora a arreglar dos problemas que tenemos con nuestro post screen y esto siempre lo vas a querer arreglar cuando.

Trabajas con times creo vamos a darle play empezamos el juego voy a dar la pausa voy a presionar espacio y eso es lo primero que vamos a hacer para que nuestro jugador no pueda controlar el movimiento lo segundo es que si vamos al main menu tenemos que acá en el candás indicarle.

Los strings de main man y delegó select así que vamos a hacer si nos cargamos acá en higüey kansas maine menú y todavía no tenemos lado select así que main menú y ya podemos de por sí hacer un lindo sedex vamos a crear la escena de la voz select grade sing la selecta agreguemos este nuevo.

Selector bizet y más de una vez my new 32 mil euros select ahora en el uruguay canvas vamos a seleccionar nuestro main men y vamos a darle play nota este error que ocurre entonces nos estamos moviendo todo bien presionamos my new start y ahora no podemos movernos eso es por el times que entonces vámonos de vuelta a nuestro.

Libreto vamos a donde estamos haciendo esto en post y nota que el times queda acá lo estamos haciendo de 1 cuando damos click en main medio también queremos que el times que o se active y con dudamos el nuevo su let también así vamos a evitar el error vamos a darle play de nuevo ahora sí vamos a main menú vamos a start.

Y no hay problema alguno con eso ahora hagamos el arreglo de hacer que el jugador pueda saltar entonces vámonos a nuestro min osman yo acá y recuerda mis post esto hace la lógica de si podemos o no movernos para usar esto hace la lógica de si podemos pausar o no así que vamos arriba acá a decir public static.

Convertimos nuestro post – static instance vamos a una función acá esta vez voy a convertir en a wake y vamos a decir instance es igual a 10 ahora vámonos al movimiento del jugador entonces control there y toda la lógica de movimiento que se hace acá update esta.

Es la lógica de movimiento así que todo esto va a ocurrir si es que post menú punto instance punto y es post no está pausado entonces si no estamos pausados vamos a correr toda esta lógica a través.

De una declaración para poder hacer esto correctamente en la exclamación se pone acá y fotos menú en este punto this post entonces vamos a correr todo esto todo lo que es el movimiento así que podemos mover esto y ponerlo adentro y ahora sí vamos a guardar vamos a darle.

Play podemos movernos vamos a pausar vamos a darle espacio y nota que ya ni siquiera suena el efecto de sonido de salto y henrry si no pasa nada causamos my new start y ahora si el juego está funcionando bien vamos ahora a agregar una transición para cuando movemos de niveles para que.

Se vea mejor entonces tenemos nuestro uruguay canvas vamos a agregar a liu wei candás una imagen igual image vamos a extender la imagen así que lo vamos a extender así y en esta imagen vamos a hacer la negra acá en el color lo ponemos en negro y nota que en el color tenemos cuatro valores rojo gris rojo verde azul y alfa.

Que se encarga de la transición de la transparencia cuando está en cero está transparente con este en uno está totalmente opaco así que lo que vamos a hacer es pasar de 1 a 0 y de 0 a 1 para hacer esta transición cuando cargamos el nivel y cuando pasamos a otro nivel hacemos esta transición es lo que vamos a hacer así.

Que lo dejamos el alfa en 1 recuerda acá en metros punto color es lo que vamos a acceder acá este y me voy a llamar la black screen vámonos a nuestro libreto y donde tenemos nuestro uruguay controller vamos a abrir el libreto de control there en start tenemos update game count down.

Usa la función update para poder hacer esta lógica pero primero tenemos que definir nuestras variables así que vamos a decir primero referencias a la imagen que es el black screen vamos a decir public image se va a llamar fight screen eso hace referencia a la imagen vamos a darle un flow para darle la velocidad en la que hemos pasado de alfa 1 alfa 0 y.

Luego vamos a decir acá private bull food fight to black' si es que queremos pasar de bless the face to black of fate frank black o sea de 0 a 1 o de 1 a 0 shoot fight to black o sea vamos a pasar de 0 a 1 o good face round black pasa de 1 a 0 food fight to black' from blacks punto y coma ahora hagamos.

La lógica en update si estamos pasando if it fight to black' si tenemos que pasar de 0 a 1 entonces vamos a decir que el fight screen color punto color as accedemos as de esta manera al componente de color va a ser igual al new color y ahora vamos a afectar todos los colores vamos a dejarlos igual solamente que vamos a afectar el alfa.

Así que rgb lo vamos a dejar igual vamos a decir face the screen punto color punto punto color punto ere para hacer rojo lo dejamos así como está el verde también a reggae b y ahora si queremos y tratar con el alfa así que vamos a poner acá vamos a movernos lentamente del fight to black' así que de 0 a 1 vamos a movernos.

Lentamente para hacer eso tenemos que usar la función move mutu words de más efe vamos a decir más efe punto words y esto nos permite movernos lentamente de un número a otro así que vamos a movernos a café y screen punto color punto para afectar el valor y vamos a moverlo al valor de 1 y la.

Velocidad en la que la movemos va a ser igual a faith speed por time punto delta time y con esto estamos haciendo el fight to black' vamos a quitar acá un poco el zoom para ver mejor fight to black' acá ponemos punto y coma y ahora voy a copiar todo esto porque lo.

Que vamos a hacer va a ser muy similar de hecho ahora una vez que completamos todo esto o sea cuando llegamos al valor de 1 vamos a decir if fate screen color of fate screen color fit swing punto color punto a es igual a 1 cuando ya llegamos al punto que queremos vamos a decir que facebook black to black ya no es verdadero o sea fight to black es.

Igual a falso así mantenemos todo bien ahora vamos a copiar esto porque vamos a hacer exactamente lo mismo pero era frank black fire black fire frank black fire black face ring color vamos a hacerlo distinto así que ahora pasamos de 1 a 0 así que esto lo reemplazamos por 0 y ya está listo.

Ahora queremos crear dos funciones que de hecho hagan el cambio de facebook live from black para poder llamarlas desde otros libretos vamos a decir public void fate to black' entonces fight to black' abrimos paréntesis y todo lo que haremos va a decir que es un fake to black' es igual a trump food fight to black' es.

Igual a true sweetface from black es igual a falso ahora vamos a hacer lo mismo para este otro así que fight to black' vamos a hacer fate from black vamos a decir que es usted brown black así que si wright from black is it fight to black es igual a falso y listo.

Ahora lo primero que queremos hacer es que cuando recién corremos el juego o sea cuando recién le damos a play queremos que hace un pequeño face from black para pasar de negro a transparente así la transición se va a ver bien así que i'm up the game count acá vamos a decir fate from black knight frank black eso es la primera llamada que vamos a.

Hacer y lo siguiente es cuando morimos así que vámonos a nuestro libreto donde estamos controlando la vida vamos a pedir health controller no es en el manager y acá estamos haciendo el bis por ahora no está en el raspón estamos haciendo white turismo white tours hispanos son los segundos.

Que estamos esperando ahora vamos a agregarle a esos segundos el tiempo que tenemos en nuestro way the fate speed así que vamos a decir igual controller punto instance punto feits pit fate speed así le sumamos a nuestro white stream el tiempo necesario para el face script el facebook y todo se va a ver bien ahora.

Queremos de hecho hacer el llamado así que control del punto instance fight to black' porque morimos hacemos un fight to black' luego pasa un pequeño tiempo acá antes de que hagamos nuestro instance game of the true tenemos que pasar un par de segundos así que voy a copiar esto de acá arriba fate.

To black' pasan un par de segundos así que decimos wait for second ya no hay white ribbon de hecho es solamente el cei to black' fate speed vamos a ponerlo entre paréntesis acá el fei de speed vamos a sumarle dos puntos 0.12 efe para que se vea mejor 0.2 efe y ahora veamos.

New wave seconds estamos demás 1 efe igual control del punto instance se despide falta sumar así que vamos a sumarle el punto 2 efe finalmente hacemos el fight to black' que ahora vamos a hacer el fight frank black así que copiamos esto.

Ya que le decimos feed from black ahora si esperamos un par de segundos después de morir hacemos un fake to black' que esperamos un par de segundos hacemos fate from black y luego regresamos veamos esto en acción vamos al igual canvas y definamos primero.

Acá tenemos todo bien face screen tenemos que decir cuál es el face green así que el black screen es el fight green y el fight va a ser de 2 segundos 12 vamos a darle play y empezamos con el fight rambla vamos a morir morimos hay un face to black from black list o se ve mucho mejor ahora.

No está algo acá cuando presionamos enter tenemos visión leve selectiva pero los botones no se presionan para arreglar eso todo lo que tenemos que hacer lo que ocurre ahí es que hemos agregado nuestro background y el background está por encima de nuestro igual canvas que se encarga de hacer el pozo screen así que darle clic el.

Background vámonos a donde tenemos nuestro you by candás y es acá donde está el black screen estoy hablando del black screen que es de este screen negro a casa les rey cast target vamos a decirle que no haga rey cast damos a play y ahora si los botones del menú de pausa.

Funcionan correctamente vamos ahora a crear una manera de poder terminar nuestros niveles así que primero vamos a seleccionar nuestro black screen y voy a sacarlo de acá solamente lo le quito la visión porque no quiero que me moleste en nuestro desarrollo ahora ubiquémonos en el juego vamos a dar dos.

Clics en el player acá para entrar al juego en la escena queremos agregar acá al final para poder terminar el nivel así que bueno en nuestros assets y donde tenemos por eso todo platform erc graphics vamos a donde tenemos el mundo level art en los mecánicos en gráficos vamos al 92 mechanics tenemos el flag paul que es el.

Flag vamos a hablarlo aquí tenemos el flag en sí entonces vamos a derecho jalar el flag paula voy a llamarlo leve lenta y adentro del flag pool tenemos el el flag el flag to flag donde está hasta acá vamos a jalarlo así los álamos a dónde se debe estar entonces acá agarramos el flag.

Puedes ponerlo a cabo puedes ponerlo aquí y luego en el fortín ordering léger -1 para que esté atrás ahí se ve mejor queremos darle a este flag un coladeras y que en el debe lento vamos a ponerlo bien en el piso y le vamos a dar un con líder así que acá con la idea box colíder edita el box colíder cómo quieres que.

Sea para cuando el jugador termine el juego ahí tenemos el flag el box colíder ahora agreguemos un texto para cuando terminamos el juego en el white canvas venimos acá vamos a agregar un texto text soy mar luego complete para indicarle al jugador que hemos terminado el juego luego con tweets.

Y no está ahorita donde se está viendo vamos a darle best fit y vamos a darle un color blanco ahí se ve pero se ve muy chiquito así que vamos a hacerlo bien grande y si quieres hacerlo grande tienes que agrandar acá también así que lo sabemos así en el centro y ahora dice el nuevo complete podemos.

Darle un enter en el nuevo complete podemos seguir haciéndolo más grande 3 y entonces el máximo agregamos un out line y digamos acá outline y digamos que la online va a ser de 5 x 5 instale book complete ahora como vemos un poquito así.

Pongámoslo en píxeles muy bien agregan demos lo más todavía y eso es lo que va a aparecer cuando completamos un nivel nuevo complete listo ahora démosle a apagarlo y pasemos a trabajar la lógica de nuestra bandera cuando la golpeamos vamos ahora a hacer la lógica determinar.

El nivel tenemos nuestro flaca calderón golpeamos el flag y cuando volteamos el flag lo que se va a encargar de hacer el terminar el nivel va a ser el de dos managers entonces tenemos por acá nuestro lado manager esto es lo que va a terminar el nivel ahora el level flag solamente cuando lo golpeamos va a mandar un mensaje al level manager para.

Terminar el nivel agregamos en nuestros assets scripts ocasión de scripts vamos a crear un lenguaje 7 y se lo vamos a asignar a nuestra bandera ahora el éxito dos clics a canadá en level éxito cuando golpeamos el dedo la ccit todo lo que vamos a hacer es que vamos a llamar a una función que se.

Encuentra en nuestro lado manager así que si acá en el la galaxy podemos borrar todo esto es decir un trigger enter porque estamos golpeando una bandera cuando golpeamos la bandera si la persona que golpea la bandera es el jugador entonces if there if there punto tag es igual player entonces vamos a decir que el nuevo.

Manager punto instance punto en leve esa es la función que vamos a llamar del nuevo manager y ahora vamos a trabajar esta función esa es toda la lógica del éxito pero ahora vamos al nuevo manager y acá abajo vamos a crear nuestro público boyd en leb o.

Cuando golpeamos la bandera lo que primero que queremos hacer es decir el jugador que deje de moverse así que agreguemos un nuevo bull acá arriba en player control dra así que nos vamos a player controller y acá lo primero que haremos cuando golpeamos la bandera de la vela es dejar de movernos así que para dejar de.

Movernos tenemos que irnos a nuestro player controller y vamos a decir acá public bull stop input para que ya no podamos mover al jugador y ahora bien sencillo vámonos acá abajo y tenemos que el post medio tiene que estar dispones de and no hemos parado el.

Intur así que stop input si uno de estos dos no funciona no funciona así que si esto ping put no funciona o sea si le damos que esto pinta true ya no nos podemos mover entonces vamos a nuestro nuevo manager y cuando llamamos al él primero queremos correr esto a través de.

Una cortina porque vamos a correr todo con tiempos así que estar con rutina ya trabaja vamos a crear nuestras rutinas va a ser un public eye en número elector y vamos a llamarlo de nuevo con routing ahora esta co rutina primero en el player controller cuando golpeamos punto instance punto esto ping es igual a true.

Para dejar de movernos luego vamos a esperar 1.5 segundos así que vamos a decir acá jude free time new wave x seconds y vamos a esperar 1.5 segundos después de haber golpeado esto esperamos 1.5 y luego controller empezamos el fight to black' así que instance punto fight to black'.

Ahora llamemos a la corrupción acá arriba en la voz con rutina y con esto cuando golpeamos nuestra bandera vámonos a nuestro l 90 y en cambio pasó a ver vamos a ver dónde me falta poner un expected ya está vamos a darle play cuando golpeamos la bandera golpeamos la bandera nos dejamos de.

Mover input a la bandera lo tenemos que hacer box con la idea k trigger si no no podemos hacer nada y acá en nuestro player entonces probemos esto ahora vámonos acá a nuestro tal palet seleccionemos primero en la jerarquía nuestro grit del palet vamos a dibujar un poco más de esta tierra.

Y luego voy a dibujar un punto donde nuestro jugador ya no puede seguir escalando más hago esto porque cuando vamos a movernos nuestro personaje va a continuar moviéndose y no queremos que se caiga démosle entonces acá la jerarquía vayamos a nuestro player.

Asegurémonos que todo está bien y ahora probemos esto vamos a darle play vamos a movernos a la bandera ahora probemos esta bandera vamos a golpearla primero tenemos que matar a la rana vamos con la bandera muy bien nota que no había guardado el player controller entonces siempre que terminas control shift es para guardar.

Todos nuestros libretos tenemos muchos libros abiertos voy a guardar cerrar todo así que voy a dejar el debut manager y sólo el play de control en abierto porque si no se nos hace muy difícil hacer los d backs así que no está ahora cuando le voy a dar a play vamos a movernos a la bandera.

Primero tenemos que matar a la ranita así que mandamos a la rana y luego cuando golpeamos la bandera el jugador se va a mover por los segundos que dijiste ahorita yo no estoy haciendo ningún input entonces nota que el jugador se mueve y luego debería empezar el fight to black' pero yo le puse acá en él y hoy canvas.

Blackspring a esta vamos a play ahora sí probemos esto debería empezar el fight to black' cuando volteamos la bandera entonces nos movemos empezamos 1 2 y ya está otra cosa que no queremos hacer es que la cámara siga al jugador queremos que la cámara se queda enfocada en la en el flash paul así que hagamos eso.

Así que para hacer el follow para hacer que paremos el follow vamos a la cámara abramos el libreto del cámara controller y acá arriba vamos a crear una variable va a ser un palo bull va a ser stop follow y entonces esta variable vamos a llamarla acá si decimos esto por lo entonces.

Esto ocurre y frausto por la ihf nou follow si no estamos con esto solo entonces que todo esto ocurra ahora queremos activar y desactivar stop follow desde la bandera cuando lo golpeamos así que luego manager el control del punto stop input vamos a decir acá camina controller punto instance.

Tenemos que convertir la cámara control en un instante así que acá arriba vamos a decir publix static para controlar instance en la función a wake vamos a decir instancias iguales y ahora vámonos a nuestro lado manager y ahora si podemos llamar a.

Dentro del camino controller llamamos a stop follow así que esto solo es igual a trump y luego de 1.5 segundos cuando hemos respondido entonces en trébol cuando cargamos el nuevo nivel así que vámonos al nuevo manager y cada arriba.

Pasados los 1.5 segundos pero vemos esto vamos a guardar entonces golpeamos y ahora si la cámara se queda en su sitio hagamos que el mensaje del lego complete aparezca vámonos a nuestro libretos y en nuestro uruguay controller vamos a abrir el libreto de igual controlar en el igual canvas abrimos igual controller.

Aquí es donde vamos a indicarle primero el objeto que tenemos que hacer aparecer así que pavlik game project punto con nuevo complete textos a llamarlo vayamos a libar con robert entonces algo y canvas y pasemos el texto que tenemos que pasarla del dedo complete acá ahora cuando golpeamos nuestro level la.

Ccit pasamos al nuevo manager y acá vamos a decir igual controller punto instance punto complete texto active group guardemos y ahora cuando terminamos nuestro nivel luego complete y ya está finalmente en nuestro level manager cuando hacemos el entrego routing.

Entonces a pasemos que aparezca el texto esperamos 1.5 segundos face to black y ahora queremos acá después esperar de nuevo un rato así que vamos a esperar como hicimos antes con el fight to black' para que todo esté bien sincronizado way for second es en vez de 1.5 vamos a decir que es vamos a esperar abrimos paréntesis y vamos a esperar 1.

Efe / / igual controller punto instance fate speed y a este valor le vamos a sumar 25 efe así tenemos un mejor speed the fight cuando hacemos fight pitt y ahora queremos de hecho cargar la próxima escena así que si manager.

Recuerda que se trabaja con john y tim jennings in management team manager punto load sin el bolton load luego tu loud entonces acá arriba public string vamos a decir pavlik string the volture loud vámonos al nuevo manager.

Y cuando golpeamos acá el level nos vamos a la manager donde se encuentra acá el bolton los vamos a cargar test el test 1 ahora probemos esto corremos luego de cumplir 12 pasan los segundos y luego la nota que no le hemos pasado al blood settings por eso no carga pero de hecho si debería.

Cargar entonces file bil settings sólo nos falta agregar acá en things test para poder hacer el test y ahora si nuestro checkpoint debería cargar el próximo nivel cuando lo golpeamos hasta 12 y cargamos el próximo nivel queremos ahora que tenemos nuestro juego.

Hecho crear un leve el pack reusable para que podamos siempre jalar los brif apps del jugador del main camera del nuevo manager liwei canvas y todo lo que requiere hacer para que el juego funcione vamos a crear un level pack de todo eso así que voy a crear a cada una yo voy a llamarle do pac.

Y acá en nuestro player nota que le hemos asignado el background por ejemplo en el play de controlador tenemos el movimiento los componentes acá el ground set point y más abajo en la escena en el main cámara hemos asignado el target del background y todo esto.

Entonces para evitar que esto se elimine hacemos primero un brief up de la cámara un privado del player como lo tenemos acá y luego vamos a agarrar este player y lo voy a jalar a level pack al igual la cámara esto es el level pack que es lo que vamos a jalar siempre que creemos un nuevo nivel.

El level pack contiene el jugador contiene la cámara que más necesitamos el background el background lo podemos rehacer pero voy a jalarlo también el background la cámara el joey canvas definitivamente lo quieres acá el grid no lo necesitamos porque el grid lo vamos a recrear con timelapse cuando queremos los propios los próximos.

Niveles checkpoint y checkpoint controller quieres el checkpoint controller para poder que tus checkpoint funcionen el nuevo manager también es necesario audio manager entonces tienes tus managers y luego manager al de manager el checkpoint control de candás ahora vamos a jalar el.

Nivel para acá y tenemos todo un nivel para qué vamos a borrarlo tenemos lo básico del juego los checkpoints que recuerda tenemos que también hacerlo un brief a los spikes también lo vamos a hacer un proyecto tienes el curso aunque puedes también hacer un tour y fap el enemigo front y finalmente el level en.

Todo esto son fans ahora podemos hablar nuestro level pack completo desde acá este es el level pack los álamos y donde sea que pongamos al jugador podemos darle a play y todo está funcionando así que de esta manera podemos hacer nuestros principales entonces lo que tienes que hacer ahora.

Es crear niveles vamos a crear un nuevo nivel vamos a guardar esto a hunosa assets sims y tenemos dos lotes sin test 2 voy a crear 3 3 create fin 33 a unos de 33 esto de giffords reports es un error de unity mismo se arregla a veces cuando se ración y te cierras.

Johnny ti lo vuelves a abrir la calle no sale eso day imports entonces estamos en el test 3 vamos a primero crear nuestro grid podemos eliminar el main cámara porque vamos a usar nuestro propio grit pero de acá de uruguay queremos llamar nuestro estudio a project y vamos a llamar al map es en el taller más recuerda que vamos a.

Dibujar así que todo está le vamos a dibujar algo rápido tenemos acá un nivel que estamos creando bien rápido entonces tenemos nuestro nivel es cuestión que aprendas simplemente crear niveles para poder hacer niveles más entretenidos entonces tenemos nuestro.

Nivel acá terminamos de dibujar nuestro nivel ya que voy a poner el checkpoint entonces tenemos un nivel bien sencillo vámonos a nuestros assets grifols y pensemos que necesitamos primero voy a poner el checkpoint acá para poner la genética la jerarquía salir del grid para salir del grupo de.

Presionar s para no mostrar ese grito vamos a leer holanda vamos a personar w para moverlo ahí tenemos nuestro level and click en level en esta que más necesitamos necesitamos cue sounds entonces si nos caemos a la izquierda morimos que más ponemos un checkpoint uno acá en el tallo paleta algo que.

Nunca quieres hacer es atrapar a tu jugador entonces voy a poner un curso una abajo a duplicar este curso y con w lo voy a mover acá abajo para que cuando toquemos eso vamos pongamos quizás un enemigo acá voy a poner un enemigo y recuerda que el enemigo le tienes que.

Indicar dónde quieres que se mueva cuáles van a ser sus movimientos tenemos el nene me from checkpoint vamos a ubicar un recto en taca waka mejor acabamos de ubicar un checkpoint las gemas vamos a poner un par de gemas en el nivel.

Vida que cambie el efecto de la vida por ésta así que vamos a poner un poco de vida qué más podemos poner spikes podemos poner spikes para que el jugador se golpe tenemos el kill zone neverland level para que lo que vamos a agregar al final ya tenemos todo así que agregamos.

Nuestro lego pack voy a jalar acá el nuevo pack no está donde está el jugador voy a ubicar el jugador en su sitio el background acá el canvas podemos a ser así ubicamos al jugador donde queremos que inicie el nuevo no te olvides de reactivar el back to black screen.

Tenemos la play el trabajo tenemos el juego primero cuando hacemos un grid no nos olvidemos que tenemos que darle colisiones a todo eso así que vamos a poner colisión es un campo cívico líder pero antes tenemos que hacer un tema con líder dónde vamos a poner acá campos y colíder y tenemos que decirle time map que yo.

Estoy campo set y el campo si vamos a darle polígonos polígonos ahora acá blackspring listo vamos a dar la play y nos olvidamos de cambiar la gravedad acá en el time up se crea un rígido y vamos a convertirlo en cinematic para que no ocurra eso.

Ya está ahora tenemos que indicar el time up que estamos en round así que acá en léger round léger porque si no el jugador va a creer que está en el aire ahora si tenemos el jugador tenemos nuestro nuevo nivel y no te olvides de cuando terminas el nivel hacer que el jugador no se pueda.

Caer pero muy bien terminamos el nivel y cargamos el siguiente nivel este dakar y con esto hemos ahora ha creado niveles y creado nuestro nuevo pack ahora te reto a que crees tus propios niveles porque ahora estás en el punto donde tienes que crear tus niveles creados a tres niveles porque ahora en el siguiente módulo vamos a empezar a crear.

La escena donde vamos a seleccionar nuestros niveles vamos ahora a crear el mundo de selección de niveles entonces vámonos a nuestros assets things y pongámonos en nuestro lego select estamos en el nuevo select lo primero que vamos a hacer es crear un nuevo está el set paralelo select vamos a hacer en.

El set voy a dar clic derecho kate folder se llama world our world ya que no vamos a usar este mismo tauscher para dibujar entonces es en este folder de our world es donde vamos a crear nuestro set vamos a saltar el palet pero antes acá en el hide erc y del mundo podemos eliminar el main cámara y darle click derecho a today.

Object y agregamos un tallo map y eso es donde vamos a dibujar hemos saltado palet ahora vámonos al outlet y acá en mentales vamos a darle create new para le vamos a decirle hover world y le damos a create seleccionamos donde queremos lo vamos a guardar en offer world te vamos a dar la selecta ahora vayamos a nuestros assets.

Duddy platform air vamos a graphics our world y acá tenemos nuestro pago resultado nuestro palet de eso ahora en assets vámonos a nuestro tablet our world select folder ahora tenemos nuestro styles para poder dibujar si vamos hasta el set our world tenemos acá todos los estados ya sabemos que acá podemos.

Controlar la colisión si quieres que haya o no haya entonces vamos ahora a dibujar nuestro mundo como queremos dibujarlo así que voy a ponerme a dibujar seleccionar nuestro active alma vamos a la jerarquía le damos clic al mapa en red vamos ahora a nuestros grifos voy a limpiar esto vamos a nuestros proyectos.

Main cámara voy a jalar la cama cámara principal por no darle un pacto completely tal palet vamos a ubicarnos en nuestro taller palet porque estamos muy grande para si nos hacemos más chiquito todo y acá podemos dibujar tenemos una idea de nuestro cámara así que dibujemos o haciendo clic en el time map.

El palet podemos dibujar nuestro mundo entonces voy a hacer un pequeño mundo hagamos el agua por acá afuera nota que al hacer el agua lo estamos haciendo en el mismo time up que el time del ground así que eso está mal lo que tienes que hacer es que venimos a la jerarquía y vamos a cambiarle de nombre.

A este tema vamos a decir que este es el ground water por ejemplo water vamos a darle clic derecho project time vamos a agregar otro que este va a ser él ground y queremos agregar otro que va a ser el map de berlín donde vamos a dibujar todo lo que va a estar encima del round.

Over line así que nuestro agua vamos a dibujar primero el agua hagamos el agua calentado tablet vamos a ponernos tenemos el agua vamos a hacerla un poco más especial más movida así que le ponemos los efectos de agua ahora agreguemos el round así que ubiquémonos en el ground le vamos a saltar el palet vamos a dibujar.

Entonces acá dibujamos el ground de nuestro mundo tenemos entonces el ground aquí vamos a expandir el mundo no soy ningún artista pero acá tenemos algo presentable ahora este es nuestro mundo vamos ahora a la general qué monos en el over ley acá puedes.

Decir dónde quiere dibujar y en el over ley vamos a hacer todo lo que está encima del mundo por ejemplo acá podemos poner el mundo 1 nivel 1 lo conectamos con busquemos algo que conecte bien esto por ejemplo mejor sería este que conecta así mundo 2 podemos conectarlo con el mundo.

3 entonces tienes para hacer lo que quieras acá muy bien ahí tenemos nuestro mundo creado en el lado verde y ahora así le damos clic al abrirla y nota que podemos si queremos mover sobre él o verla y podemos hacerlo y es por eso que trabajamos con.

Diferentes estados más así podemos trabajar mejor tenemos el ground si queremos mover el ground podemos mover sólo el ground y si queremos mover el agua podemos mover el agua entonces tenemos nuestro primer nivel vamos ahora en el verle y agregar un par más de decoraciones podrías incluso.

Venir acá agreed to digital set map y decorar decorase jones y acá podemos agarrar de nuestro tal palet árboles por ejemplo por acá flores puedes agregar al nivel y listo entonces crea tu propio nivel y luego nos vemos en el próximo vídeo.

Dónde vamos a darle vida a todo esto vamos ahora a crear los puntos del mapa estos son los puntos donde nuestro jugador va a poder moverse entonces vamos a primero venir acá vamos a darle clic derecho a nuestra jerarquía kristen game y activamos ubicarlo en el 0 0 0 y vamos a llamarlo el match point holder ahora creemos un match-point haga clic.

Derecho de crédito de marmato point y cómo vamos a trabajar con varios de estos puntos primero ubiquémonos para encontrarlo aquí está el mapa point como vamos a trabajar con varios de estos puntos vamos a convertirlo en un proyecto así que nos prisa voy a crear acá un folder garcía mal el uso de ect.

Ya que le pasamos los príncipes de match point vamos a jalar esto y ahora tenemos nuestro map point vamos a ubicar este match point exactamente en el 11 voy a duplicarlo y voy a mover este siguiente map point acá en el en este en este córner en esta esquina que es donde se va a mover el jugador cuando nos movamos acá tenemos otra esquina voy a duplicar.

De nuevo tenemos otra esquina voy a duplicar una vez más y acá tenemos el map point de 12 así que este mapa point dónde está el nivel 11 voy a renombrar lo a 1-1 y es tema point donde tenemos el nivel 2 lo re nombramos a 12 voy a mover primero un match-point acá y ahora si este es el 12.

Ahora queremos hacer esto para todos las esquinas así que duplicamos o vemos que tenemos el 3 así que ahora le pongo 3 este es el 13 y vamos a hacer eso para todos los posibles puntos donde se mueve el personaje entonces tenemos el nuevo point de 14 tenemos el map point 15 este se llama 15.

También tenemos unos 6 y finalmente 17 tenemos entonces todos nuestros puntos ahora creemos un libreto para trabajar con estos match point somos scripts great si chart script se va a llamar match point y es por esto que convertimos nuestros smartphones en.

Grifos porque vamos a asignarlo al 11 y no importa que le asignemos al 11 cuando actualizamos nuestro prisa todos los match points van a tener este libreto ahora queremos entrar a nuestro libreto de match point y vamos a asignarle a nuestro jugador una manera de poder el moverse a través de todos los puntos que.

Tenemos así que vamos a decir cuál es map point íbamos a poder movernos hacia arriba hacia la derecha hacia abajo o hacia la izquierda y también tenemos que indicar si en donde estamos encima es un nivel o no ahora tenemos que asignar estos match points en nuestro juego debemos click.

Acá es tema point démosle override a play y ahora todos los match points tienen el libreto entonces estamos en 11 cuando vamos hacia arriba a dónde podemos ir acá porque este es el único punto y 11 es un nivel a unos 12 en 12 en esta esquina acá en este match point podemos ir hacia abajo y si vamos hacia.

Abajo caemos en el match point de acá si vamos hacia la derecha wright caemos en este mar fuente muy bien ahora trabajemos este match point si vamos hacia la izquierda podemos caer en este match point y así como me estás viendo hacer todo tienes que trabajar todos estos match points de.

Acá así que voy a pausar y voy a trabajar un par más contigo y luego voy a pausar entonces el de acá a la izquierda si vamos hacia arriba up tenemos este de acá donde podemos ir y ahora vamos al ya acá podemos ir hacia abajo down nos permite ir down wright si vamos a hacer la derecha acá vemos en este de acá y ahora acá podemos ir left.

Si caemos le traemos acá es un lado y si vamos right podemos caer acá muy bien entonces ya entiendes cómo lo tenemos que hacer hasta eso para todos tus puntos de mapas esta que dice todos entonces veamos más point 1 2 3 4 5 6 7 8 9 y 10 acá me faltó 1 left cuando voy left boyacá.

Y listo tenemos todos los puntos del mapa asignados ahora nuestro personaje tenemos que hacer que pueda moverse en esos puntos ahora vamos a hacer que nuestro personaje pueda moverse entre estos puntos que acabamos de definir así que vámonos a nuestros assets judy platform.

Are graphics y por acá tenemos nuestro software world nuestro player entonces busquemos en entonces lo tenemos definido en over world vamos a offer world acá puedes ver que tenemos una que es el personaje vamos a jalarlo a la escena vamos a llamarlo playa y ahora este sprite vamos a moverlo a su.

Sitio indicado acá encima de 1 1 vamos a ponerlo ahí ahora queremos poder decirle al jugador que se va a mover los diferentes mapas así que démosle un libreto al player en assets scripts vamos a crear acá un libreto llamado ls player y concentrar y la expliquen player.

Hallemos ls player acá y abramos el libreto queremos primero agarrar el green point en el que se encuentra el jugador entonces vamos a decir public y vamos a llamar a nuestros map points que es la clase de acá como se llamará map point y vamos a decir que event point estamos buscando el brent point del personaje usando el map puente así que.

Ahora tenemos que decir cuánta es la velocidad del personaje al moverse de punto punto public cloud vamos a darle un speed para ser igual a 10 efe ahora que tenemos el muchos pit queremos definir el próximo punto del nuevo punto entonces estamos en un punto actual queremos definir cuál es el siguiente.

Punto para eso vamos a decir nextpoint así que vamos a agarrar un paulik void vamos a decir público white queremos una función se ve marset nextpoint y esto se va a llamar siempre que nos encontremos en el crown point así que vamos a decir max point le damos el next point que se encuentra en la función de max point y ahora.

Acá le vamos a decir que es igual a max point y acá tengo que arreglar los tipos green point es igual a max point le puse más exponentes el next point el punto próximo ahora definamos este max point campus en match point smap point porque estamos haciendo referencia a este mapa.

Acá que tiene el carnet nuevo con esto cada vez que nos movemos a un punto nuevo queremos crear el nuevo punto porque nuestro personaje cuando está acá quiere moverse al 2 y con éste en el 2 puede moverse a la izquierda oa la derecha y es por eso que tenemos los match points aún no se ha definido el crown point del.

Personaje ahorita se encuentra en el punto 11 ahora volvamos a ls player y hagamos la lógica de que ocurre cuando presionamos el teclado hacia arriba hacia abajo izquierda y derecha así que tenemos que decir que nuestro input es horizontal así que input punto get axis no.

De taxis ron nos permite agarrar los valores del teclado cuando estamos presionándolo entonces si presionamos a la izquierda va a ser negativo 1 hacia la derecha va a ser positivo 1 vamos a usar horizontal para esto horizontal recuerda que puedes cambiar el axis row porque el botón down de taxis y muchas más formas de registrar.

Un teclado ahora si esto es mayor a 5 entonces significa que si nuestro current point punto right es no es nulo o sea si podemos entrar por ahí hay espacio vamos a movernos así que seth nextpoint el crown point va a ser raid eso es si nos movemos a la derecha ahora queremos hacer para si nos movemos a la izquierda.

Hacia arriba y hacia abajo así que vamos a declarar otro de estos inputs pero esta vez vamos a decir entonces lo tenemos con positivo para si nos movemos a la derecha hagamos lo negativo ahora así que pongamos negativo 5 y si es negativo punto 5 el crown point está grave tiene right.

Left y nos estaríamos moviendo hacia left ahora hagamos el vertical para el eje vertical así que voy a copiar esto y voy a decir vertical acá para arriba y abajo así que si vamos hacia arriba si nos movemos hacia arriba es up en caso de que podamos movernos hacia arriba le damos.

Y ahora hacia abajo así que copiamos esto y lo hacemos negativo negativo punto 5 y ahora está a 1 así que te aún y dawn ahora guardemos veamos lo que hicimos vamos a darle a play fijémonos en el mapa point de acá a la derecha estamos en el jugador vamos a.

Ahora arreglar esto nuestro cambio de control recuerda cuando agregamos el cámara no necesitamos tener el libreto hacemos clic match point holder vamos al grit vamos a darle a play y recuerda cómo funciona.

El sistema de uber ley de unity tenemos que decir el surfing cómo va esto así que poder vender el agua va a menos 2 el ground lo voy a poner en menos 1 el overlay lo voy a poner en 0 y las decoraciones pueden ir en 1 ya está muy bien no está acá tenemos cuando es.

Menor de hecho no me fijé en cambiar esto entonces ahora si debería funcionar bien vamos a chequear esta lógica que hicimos nos encontramos en el punto 1 1 y el punto 1 1 solo tiene para ir hacia arriba vamos a darle para ir hacia arriba veamos hacia arriba y nota que el map point está cambiando conforme nos.

Movemos ahora queremos una forma visual de poder hacer que esto se vea ahora queremos hacer el movimiento entonces para mover al jugador vámonos a nuestro el ex player y acá arriba vamos a hacer la función de transform position para decir cuál es la posición en la que se va a encontrar el jugador y vamos a decir que la exposición va a ser igual a.

Vector 3 y le vamos a pasar en el eje x jay-z vamos a ver entonces vector 3 vamos a usar move to words para poder hacer un movimiento suave y ahora vamos a decir transform punto position ese es el x no va a pasar nada ahí ahora vamos a movernos de transformers punto position al siguiente punto y el punto.

Va a ser el green point punto transform punto posición así que podemos copiar esto pasamos de transform posicionado transform del green point eso significa que estamos pasando del punto donde se encuentra el jugador al punto donde se encuentra el próximo punto del mapa y la velocidad de movimiento vamos a decir muchos pib por time punto delta time.

Con esto tenemos el movimiento veamos que hicimos siempre que trabajas tienes que des compilar tienes que asegurarte que no estás con play porque si no puede ocurrir eso vamos a darle play y al movernos puedes ver leamos arriba abajo pero aún ocurre algo raro y es esto el jugador se está saliendo de sus límites a la hora de.

Moverse así que para hacer que el jugador no se salga de sus límites acá abajo vamos a decirle que si nos encontramos dentro del vector punto distance entonces rector strip punto distance con esto vamos a buscar la distancia entre el punto de transformers y transformers position entonces somos este misma lógica de acá.

La distancia entre transform punto posición y con green point de ser esta menor que 0.1 entonces todo esto que hemos hecho acá vamos a correrlo así que jalamos estos inputs y lo pegamos acá vamos a guardar y ahora veamos cómo se hace el movimiento vamos a movernos arriba nos vamos arriba a la derecha arriba y ahora si el.

Movimiento es más correcto y ahora tenemos el movimiento de nuestro personaje acá me faltó indicar de 3 nota que puede ser lo que está pasando ahí en 3 el up no le indique correctamente que tenía que ir acá entonces en el 3 en el up ahí está cuando estamos acá el down nos dijo el tres y el left ahora sí cuando le.

Damos a play asegúrate de tener todos sus puntos correctamente puestos ahora que nos encontramos acá qué pasa si nuestra escena es mucho más grande de lo que cubre la cámara como cuando jugamos el juego queremos que la cámara pueda seguir al jugador así que vamos a carmen camera que tenemos en el level select y vamos a.

Crear un nuevo libreto vamos a darle a create si sabes script iba a ser ls camera controller vamos al mini cámara y vamos a jalar el ls cambio de controlar vamos a abrirlo y primero vamos a decir cuál es la posición mínima y la posición máxima como hicimos con antes la cámara entonces paulik a través.

De un vector 2 vamos a indicarle cuál es la misma posición y el max posición de esta cámara así podemos limitar el movimiento de la cámara y ahora queremos también tener una transformación del objeto que estamos apegando nos ha entonces el jugador vamos a decir pavlik transform y vamos a poner target.

Tenemos al jugador al cual vamos a seguir ahora como seguimos el jugador vámonos adáptate y vamos a decir que flote la posición en x exposición es igual y ahora vamos a usar clamp como hicimos antes para poder cambiar la posición mínima y máxima en la en el eje x y lo mismo para el eje y primero estamos trabajando el eje x hagamos más.

Punto clamp hasta abrimos paréntesis y vamos a decir target punto position x en base a eso cuál es la posición mínima y máxima vamos a decir que mínimo posición punto x con mamá exposición punto x ese es el límite en el eje x hagamos lo mismo para el eje y podemos copiar esto.

Lo pegamos cambiamos esto por y esto por y esto por griega y esto por y y ahora queremos hacer el transform posición así que vamos a decir transform punto position va a ser igual al nuevo cálculo de donde se va a encontrar la cámara new vector 3 en base a nuestro exposición y el huawei posición entonces exposición.

Coma white position como el transformes eta lo dejamos igual así que transforman punto posición z con esto estamos afectando la cámara recuerda que usamos vector 3 cuando trabajamos con cámara entonces el vector 3 de la cámara va a seguir la posición de x de y y la posición de xy de y van a.

Estar planteadas al target que es nuestro objeto que es el jugador guardemos y veamos la cámara ahora entonces para hacer esto la cámara tiene que tener no tienes que tener un ground o bien grande así que podríamos agarrar todo esto y agrandarlo entonces lo agrandamos así por ejemplo lo óptimo es que tengas un.

Nivel mucho más grande pero vamos a darle play ahora a nuestra cámara así que main cámara el target es el jugador tienes que indicar cuál es la posición mínima y máxima de la cámara para que pueda moverse más exposición por ejemplo podemos decir que en el mínimo imposición de la y es menos 3.5 y va a ir hasta menos 0.5 o 0.25.

Dependiendo de como quieras que la cámara se mueva 11.5 va a ser el máximo en el eje x porque es más largo ahora nos movemos y cuando te quedes sin área ahí está la cámara siguiendo el jugador ahora qué quieres hacer quieres expandir el área donde se encuentra el océano dibujando para que se vea todo mejor entonces lo que tienes que hacer ahora.

Es darle click al water taltal led y dibuja el océano extiéndelo ahora cuando le damos a play tenemos nuestro mundo nos movemos por el mundo y conforme vamos avanzando se van abriendo nuevas áreas las que podemos explorar ahora nota que cuando nos movemos la cámara se mueve exactamente en el.

Momento que el jugador se mueve para arreglar esto podemos cambiar el update por un late late entonces late update ocurre después de update después de cada marco ahora vemos cómo se ve esto el jugador se va a mover y ahora se ve un poco mejor ahora que nos encontramos acá qué pasa si nuestra escena es mucho más grande de.

Lo que cubre la cámara como cuando jugamos el juego queremos que la cámara pueda seguir al jugador así que vamos a carmen camera que tenemos en el level select y vamos a crear un nuevo libreto vamos a darle a create season script iba a ser ls camera controller vamos al mini cámara.

Y vamos a jalar el ls camino al controlador vamos a abrirlo y primero vamos a decir cuál es la posición mínima y la posición máxima como hicimos con antes la cámara entonces paulik a través de un vector 2 vamos a indicarle cuál es la mini posición y el max posición de esta cámara así podemos limitar el movimiento de la.

Cámara y ahora queremos también tener una transformación del objeto que estamos apegando nos ha entonces el jugador vamos a decir public transform y vamos a poner target tenemos al jugador al cual vamos a seguir ahora como seguimos el jugador vámonos adáptate y vamos a decir que flote la posición en x exposición es.

Igual y ahora vamos a usar clamp como hicimos antes para poder cambiar la posición mínima y máxima en la en el eje x y lo mismo para el eje y primero estamos trabajando el eje x hagamos más punto clamp hasta abrimos paréntesis y vamos a decir target punto position x en base a eso cuál es la posición mínima y máxima vamos a.

Decir que en mínima posición punto x con mamá exposición punto x ese es el límite en el eje x hagamos lo mismo para el eje y podemos copiar esto lo pegamos cambiamos esto por y esto por y esto por y y esto por y y ahora queremos hacer el transform posición así que vamos a decir transform.

Punto position va a ser igual al nuevo cálculo donde se va a encontrar la cámara new vector 3 en base a nuestro exposición y el huawei posición entonces exposición como why position como el transforme z lo dejamos igual así que transforman punto posición z.

Con esto estamos afectando la cámara recuerda que usamos vector 3 cuando trabajamos con cámara entonces el vector 3 de la cámara va a seguir la posición de x de y y la posición de xy de y van a estar planteadas al target que es nuestro objeto que es el jugador guardemos y veamos la cámara ahora entonces para hacer esto la cámara tiene.

Que tener no tienes que tener un ground un bien grande así que podríamos agarrar todo esto y agrandarlo entonces lo agrandamos así por ejemplo lo óptimo es que tengas un nivel mucho más grande pero vamos a darle play ahora a nuestra cámara así que en cámara el target es el jugador.

Tienes que indicar cuál es la posición mínima y máxima de la cámara para que pueda moverse más exposición por ejemplo podemos decir que en el mínimo imposición de la y es menos 3.5 y va a ir hasta menos 0.5 o 0.25 dependiendo de como quieras que la cámara se mueva 11.5 va a ser el máximo en el eje x porque es más largo ahora.

Nos movemos y cuando te quedes sin área ahí está la cámara siguiendo el jugador ahora qué quieres hacer quieres expandir el área donde se encuentra el océano dibujando para que se vea todo mejor entonces lo que tienes que hacer ahora es darle click al water tyler y dibuja el océano extiéndelo ahora cuando le damos a play.

Tenemos nuestro mundo nos movemos por el mundo y conforme vamos avanzando se van abriendo nuevas áreas las que podemos explorar ahora nota que cuando nos movemos la cámara se mueve exactamente en el momento que el jugador se mueve para arreglar esto podemos cambiar el update por un late and blake entonces late update ocurre después de.

Update después de cada marco ahora vemos cómo se ve esto el jugador se va a mover y ahora se ve un poco mejor vamos ahora a cargar niveles cuando estamos en los mapas así que vámonos a nuestro libreto y primero en ls player después de todo esto queremos ver si es que en el punto en el que nos encontramos es un nivel así que vamos a decir if current point.

Punto es level entonces vamos a hacer algo y en ese caso si estamos encima de un nivel si presionamos la tecla de espacio entramos al nivel y el botón de aun yo en caso de que presionemos para saltar que el botón down entonces en ese momento vamos a decir que el level.

Loading es igual a true porque estamos cargando un nivel vamos a crear un bull ya no acá arriba que sea level loading vamos a hacerlo primero paulik para poder verlo loading con esto estamos diciéndole acá que el nivel está cargando.

Entonces ahora que hemos hecho eso tenemos que venir a los match points y decir el match point que vamos a cargar un nivel así que público string nuevo cloud en caso de que tengamos niveles para cargar en los puntos del mapa así que vámonos a los mapas y ubiquémonos en los match points acá en la jerarquía seleccionemos 1112 nutres y.

Así todos los mapas que sean niveles y vamos a decir por ejemplo este va a cargar el nivel de text y este va a cargar el nivel de test 2 pero obviamente quieres crear niveles y decir que el mapa 1 o 2 va a cargar el nivel 1 2 el mapa 11 carga el nivel 1 1 y así tenemos todos los mapas que van a cargar niveles.

Vas poniendo el nombre de los niveles que quieres cargar que ya has creado como escenas tenemos los niveles ahora que tenemos lo básico queremos crear el sistema para poder hacer el negocio electo así que acá vamos a crear en ti vamos a decirle vos al ex manager y acá vamos a crear un implícito script que se va a llamar lego select manager.

Entonces grades y sharp script l s manager luego select manager y es acá donde vamos a manejar toda la lógica de cargar los niveles así que luego select manager ls manager abramos esto hagamos la lógica de cargar los niveles primero nuestro ls manager necesita acceder al jugador así que tenemos el libreto del debut del ex player y tiene.

Ahí el player así que vamos a acceder a este le guste lect vamos a decir public y el con el objeto que contenga el componente que obtiene el libreto del nuevo select player se va a llamar player entonces estamos accediendo acá en el bus electo manager al libreto que tiene la playa vamos a dar a cada player.

Y creemos una función que se llame laurel para cargar el nivel y adentro de la ule volvamos a correr una cortina estar con routing y ahora creemos la corrupta y no vamos a decir acá público hay en número aitor en número y se va a llamar loud luego con routing.

Ahora ya gritan new way for seconds está llegando widerstands vamos a abrir paréntesis y vamos a esperar un segundo cuando empezamos a cargar el nivel y ahora queremos hacer la lógica de cargar el nivel así que recuerda sin manager.

Y para que sin manager funcione tiene que importar sin management acá arriba sin manager punto loud sin abrimos paréntesis de player es el jugador que vamos a decir current point punto level loud porque cada punto tiene un punto distinto ahora para cargar este cortina copiamos acá y la pegamos acá.

Estamos corriendo así la corrupta ahora a través del ls player queremos poder acceder al libreto de ls manager y cargar la función load ledo cuando el player presiona espacio acá cuando presionamos espacio queremos poder cargar eso así que vamos a hacer referencia a nuestro lado select manager que es el libreto que contiene todo lo.

Que queremos correr en este caso la función del loulé no vamos a poner public ls manager se va a llamar la manager bajamos acá y vamos a decir qué la manager punto la leve y con esto vamos a cargar los niveles vamos a probarlo vemos la play.

Tenemos espacio y acá vamos a ver por qué ocurre friends en player la manager no me faltó decir ls manager está ahora sí vamos a presionar espacio y cargamos el nivel este nivel de test carguemos otro nivel entonces voy a irme al nivel 2.

Y carguemos el nivel 2 y hasta podemos empezar a jugar ahora lo único que le está faltando a este cambio de escena es poder hacer que el fight to black' ocurra para que se vea mucho mejor la transición así que en nuestra escena acá vamos a crear un canvas así que ya hay canvas y en este canal vamos a crear un panel.

Así que lleva ahí vamos a escoger acá panel y este panel va a ser color negro y ya sabemos que queremos pasar de negro a nada así que dejémoslo en negro voy a marlo black screen ahora necesitamos en nuestro canvas acá vamos a agregar un nuevo libreto vamos a decir create script y se va a llamar el manager él es igual.

Vamos a jalar nuestro el manager al canvas abramos lo y podemos de hecho copiar lo mismo que hicimos en el white controller acá a unos arriba y vamos a copiar este fight to black' vamos a hacer lo mismo exactamente así que vamos al manager copiamos esto y en la pdi está acá en el.

Controller ya tenemos el shoot fight to black' así que vamos a copiar esto y vamos a pegar el manager acá en el canvas le hice un panel voy a hacerle una imagen voy a agregar acá y merckx vamos a hacer dos clics en el canvas para que nos ubiquemos en todo el canvas expandimos la imagen.

Y vamos a darle color negro ahora nos venimos aquí y tenemos que decir using in it again para poder acceder a nuestra imagen así que yo sin uniting punto uruguay vamos a poder acceder a los medios ahora acá en nuestro canvas queremos asignar el fidesz green y el facebook le ponemos 2 le podemos poner 1.

Ahora volvamos a nuestro y white manager vayamos al controller y nos falta la función que activa el fight to black' así que estas dos funciones las podemos copiar las pegamos a cada debajo de la función de update ahora convirtamos nuestro el es guay manager en un static instance así que.

Public static el manager instance y a cabo convertimos en la wake el starting wake y vamos a decir instancias iguales y ahora tenemos que activar el fight to black' así que en el el ex manager donde estamos cargando las escenas en la corrupta ina aquí vamos a decir acá el desigual controller él es.

Guay vamos a decir adhesión y manager punto instance fight to black' eso es cuando estamos cargando una nueva escena empezamos el fight to black' vamos a esperar acá vamos a ponerle 1 efe sobre nuestro tiempo de espera en facebook así que da silva y.

Managers instance punto fate speed y ese faith pitt vamos a sumarle 0.25 con esto tenemos el fight to black' ahora queremos decir cuál es el fire frank black así que vamos a nuestro manager y tenemos que decir al inicio food fight from black es igual entonces acá en start 2 a crear una.

Función start safe from black probemos esto ahora empezamos y empieza acá la escena con face and black escogemos un nivel face to black carga el nivel fight from black ahora se ve muchísimo mejor la transición de niveles vamos ahora a cargar los niveles y.

Bloquearlos primero queremos dar una lógica para que cuando no le hemos dado un nombre al nivel no podamos cargarlo así que volvamos a nuestro vélez player y acá donde estamos haciendo es green point es nuevo vamos a decir y si tenemos que correr ent point punto debut load no es igual entonces le vamos a decir no es igual a nada entonces si.

Hay nada no vamos a poder cargar el nivel porque no hay nada pero si ya tenemos tenemos escrito qué nivel queremos cargar vamos a poder cargar el nivel para poder bloquear los niveles vámonos a nuestro él es map point acá en el map point tenemos que una buljan aislado y ahora también queremos decir is love.

Y en el player solamente vamos a poder decir and no estamos isla para poder acceder bien tenemos que decir and print point punto y slot entonces ante green point no está es la ctc entonces con esto vamos ahora a nuestro juego y vamos a bloquear el nivel 12 así vámonos acá el canvas voy a primero.

Permitirme poder trabajar así que voy a pagar el canvas vamos a los niveles map holders vamos al nivel 12 y vamos a decir que está bloqueado vemos la play ahora intentas ir al nivel 2 y no vas a poder porque está bloqueado muy bien y con eso estamos bloqueando los niveles vamos ahora a desbloquear los niveles para desbloquear nuestros niveles pero.

Primero queremos guardar alguna manera de poder recordar que hemos terminado ese nivel así que al terminar los niveles vamos a guardar cierta información vamonos entonces a nuestro ledo manager que es donde estamos haciendo el terminar el nivel acá estamos terminando el nivel cuando en leb o vámonos a la corrupta y na.

Terminando el nivel después de hacer el face speed vamos a guardar en player press de esta manera podemos guardar nuestro nuestros valores e incluso cuando cerramos el juego podemos regresar y todo va a estar guardado player prep punto set int vamos a configurar un número entero y el número entero que vamos a configurar va.

A tener esta clave vamos a decir sin manager agarramos del sim manager el active sync para poder agarrar el active sim y así el valor del active sync tenemos que agarrar su nombre si hemos terminado el nivel 11 entonces 11 va a estar y le pasamos el valor de rey y trabajo on love desbloqueado y para poder saber que está desbloqueado.

Tenemos que darle un entero el entero que le damos es el valor de 1 ahora vamos a verificar si es que las escenas tienen el entero de 1 entonces vamos a poder desbloquear las guardemos esto ahora que estamos acá en el juego ya guardamos nuestra lógica del map point ahora vámonos el mapa point 11 he.

Cambiado los nombres de las escenas de test al nombre del niveles normales así que test 1 ahora se llama 113 2 ahora se llama 1 2 3 3 1 3 tenemos nuestros lay out louds vamos a ubicarnos en el mapa point 1 1 el level 3 1 1 y en este caso vamos a cargar 1 1 es por eso que hicimos esta pequeña lógica de acá.

Para poder desbloquear el nivel si el de bolt load es igual al estuche que el nivel está desbloqueado eso es lo que hicimos aquí 11 luego vámonos a 12 y para cargar 12 tenemos que cargar el nivel 12 pero tenemos que chequear que hayamos terminado el nivel 11 y gracias a que hemos puesto en el checkpoint que podemos hacer eso cuando nos vamos a.

Nuestro checkpoint acá en riffa pge el check el level en taca hemos hecho que podamos tener para cargar el nivel que terminamos así que vamos a nuestros assets things abramos 1 1 y voy a poner acá el checkpoint así que vámonos el checkpoint voy a editar rápidamente este nivel griffa halo.

Nuestro dedo pack completo y ya tenemos el nivel a cabo ya poner el level to end para terminar el nivel y ahora veamos esto vamos a hacer si nos carguemos el nuevo select empecemos el juego y ahora queremos ir a 12 y no podemos vámonos a 11 cargamos el nivel vamos a jugar terminamos el nivel de gol complete y.

Acá tenemos que decirle al cuando terminamos el nivel queremos cargar nuestro nuevo select entonces vámonos a nuestro lado de exit en el dedo manager cuando terminamos el nuevo manager terminamos todo esto quien eleve el manager tenemos que decir que escena queremos cargar entonces guardamos esto.

Vamos a nuestros assets since 1 1 ya que nuestro nuevo pack tenemos nuestro nuevo manager lealtad nuevo select ahora sí cuando terminamos esto tendríamos que llegar al nuevo mapa entonces terminamos este nivel nuevo complete cargamos el nuevo select y ahora si.

Podemos entrar a 12 antes no podíamos vamos ahora a crear el panel que nos permite mostrar el nombre del nivel que vamos a cargar así que vámonos al canvas acá en nuestro lego select vamos a darle yubá y vamos a agregar un nuevo panel démosle dos clics al canvas y ahora este panel vamos a editarlo vamos a hacerlo más chiquito.

Y no está acá la pantalla negra que tenemos siempre de la imagen vamos a sacarla por ahora panel entonces estamos trabajando el panel no está en el juego como se ve acá abajo posicional o donde quieres que se posicione el nuevo select y ahora en la imagen algunos de nuestros assets tu di platform aircraft fix you why podemos.

Ganar este uruguay azul entonces panel que hay una imagen club lo ponemos se ve mucho mejor ahora el opaco la opacidad vamos a ponerlo al cien por ciento en el alfa acá tenemos para mostrar el nombre si quieres puedes hacerlo un poco más grande así y ahora acá se muestra el nombre en el panel mismo tenemos que darle agua y.

Text para poder nuevos name goes y ahora este texto hagámoslo más grande logran damos lo posicionamos en el centro vamos a ponerlo de esta manera le cambiamos el nombre y el texto nos está mostrando vamos a ver por qué nos está mostrando vamos a cerrar este texto.

Vamos a borrarlo yo he hecho en el canvas que vamos a agregar el texto ahí está el texto se puede ver ahora vamos a ponerlo debajo del panel no tenemos nuestro texto vamos a moverlo hacia el panel ahí está ahora si se ve bien la movemos es el panel lo agrandamos vamos a ponerlo en el centro.

Le damos en la forma que queramos con el fondo aquí vamos a cambiar este nombre para él el nombre del nivel vamos a darle color blanco más font allí por ejemplo se ve bien y outline quieres agregarle un out lime shadow lo que quieras agregarle para que se vea mejor ya está tenemos el nombre de nuestro nivel ahora queremos apagar de.

Hecho nuestro panel y queremos prenderlo cuando tocamos uno de estos niveles así que vámonos ahora el código ahora vámonos a nuestro manager en el canvas vamos a darle el manager y esto es lo que vamos a usar para poder controlar el mostrar nuestro panel vamos a primero hacer una referencia al con el.

Que hemos apagado game on project nuevo info panel y ahora queremos darle el texto a lebron james public texto nuevo name es el nombre del nivel vámonos a nuestro mapa point holder entonces tenemos el canvas vámonos a nuestro map point holder démosle click a un match point y abrimos.

El libreto de match point ahora queremos también poder decir el nombre de nuestros niveles acá así que es level vamos a agarrar la bola del turia kyla vaughn jane vámonos a nuestros match points y vamos a decir que el nombre de este nivel 11 puedes decir lo que quieras water.

Y tanques no sé tienes que llamar tus los nombres de tus niveles como quieras llamar la historia de tu juego ahora tenemos el nombre de nuestros niveles quieres hacer eso para cada uno de estos niveles 12 ahora.

Voy a siempre sacar esta imagen que no me permite ver todo ahora vámonos a nuestro el es guay manager así que acá en el el candás tenemos el él es igual manager vámonos abajo creemos dos funciones vamos a crear acá la función se llamara public bike show info y vamos a tener otra que va a ser pública.

Boyle heights info ahora joe info vamos a decir primero en su informe vamos a pasar el match point acá match point le vamos a pasar level info como información del nivel para saber qué nivel estamos leyendo ahora le ve name text vamos a decir clavo name punto text va a ser igual a level info.

Punto levein entonces cuál sea el nivel que hemos designado en el match point indicado en cuando nos paremos en un match point vamos a jalar el level info del match point y ese va a ser el nuevo nombre del nuevo name en nuestro el win manager ahora el level info panel queremos mostrarlo así qué punto se active group.

Porque si no no se muestra la información y cuando no estemos ahí o sea en hyde info vamos a pagar lo vamos a decir falso finalmente vámonos a nuestro lado select player y donde estamos diciendo acá para saltar si estamos encima de un nivel acá vamos a mostrar el nombre del niveles we manager punto instance.

Punto show info y queremos mostrar la información del cliente print en el que nos encontramos y una vez que nos movemos de ese punto queremos esconder la información y de aschwin manager instance punto hide info listo vamos a probar esto vamos al nivel vamos a activar primero la imagen del black screen.

Voy a llamar esto es guay canvas y la imagen de acá lo voy a llamar como black screen y el panel se va a llamarle donde van al lado name para no cuando tengamos más objetos se va a ser más complicado así que siempre quieres mantener buenos nombres vamos a darle play ahora cargamos el nivel.

Observe reference nos faltó acá en el hacer referencia 'la ley del infopa no existe acá y la ley hace referencia al texto de mosley ahora si nos encontramos en el nivel 1 water y tank salimos del nivel 1 nivel 2 2 wright y bueno el texto no entra porque es muy grande pero ahí tienes los textos.

Solamente cuando tienes un nivel que puedes entrar vas a poder entrar al nivel ahora que tenemos una manera de mostrar el panel de nuestro nivel queremos también poder mostrar acá le voy a bajar el feed al falso lo voy a bajar completo le done de impago queremos también poder mostrar el texto lo voy a hacer más.

Chico queremos poder mostrar a dentro de nuestro level name panel las gemas que hemos encontrado y nuestro mejor tiempo así que vamos a agregar un par de gráficos a este elevó un impacto vámonos a nuestros assets judit pla formar graphics y primero queremos agarrar de nuestros colectivo les la gema así que acá la unam para no vamos a agregar una.

Imagen va a ser el game y esta gema vamos a darle como imagen esto da como sprite y perfecto tenemos la gema ahora vamos a hacer clic en nuestra gema y vamos a moverla voy a hacerla más chiquita con esto tenemos nuestra gema aquí ahora tenemos que agregarle un texto así que.

Luego igual texto el texto se va a llamar acá las gemas que hemos encontrado así que primero le voy a poner color blanco voy a hacer lo más grande y lo voy a poner en el centro y voy a mantener el fondo vamos a poner acá found gemas encontradas y de hecho le voy a pegar a la izquierda de esto va a ser lo más.

Grande jamás encontradas found ahora quizás quieres hacerlo todavía más grande así que found vamos a darnos espacio para crecer el fondo está found y vamos a decir acá pero por ahora esto es james james found.

Vamos a duplicar este texto de jamestown de text vamos a bajarlo y vamos a darle una ayuda al jugador para que sepa que tenemos x gemas en el en el juego en el nivel así que luego tenemos por ejemplo 999 y ahora queremos poder mostrar esto así que acá.

En el nivel tenemos 999 gemas ahora agregue agarremos esto vamos lo más arriba porque quiero poder acá decir game para indicar que estamos tratando con gemas así que voy a mover voy a copiar este texto de found podemos verlo acá abajo james text debo llamar a este.

James le podemos poner en el centro y ahora lo voy a mover así y tenemos el índice de nuestras gemas james text podemos agarrar a carla gemayel james text por un poco más arriba ahí está tenemos nuestras gemas en display ahora es cuestión de que lo muevas.

Correctamente dónde quieres que se vea acá abajo ahora vamos a copiar todo esto voy a duplicarlo moverlo a la derecha y en vez de james voy a decir time time best time y luego time target esos son los textos y qué le vamos a decir time text.

Vamos a cambiar primero en graphics vamos a buscar donde se encuentra el gráfico del tiempo así que y ahora para encontrar el reloj nos vamos a nuestros graphics y donde tenemos nuestros mundos caen level art en esta el set vamos a bajar todo esto el set.

Acá en graphics en over world podemos bajar acá y tenemos un reloj que podemos usar así que vamos a time vamos a mover este reloj acá y james el time texto vamos a poner time es el tiempo vas a tener el mejor tiempo ahora time target vamos a decir que podemos decirle target.

En segundos así que 1 2 3 segundos 'jack and found podemos decir best to mejor tiempo todavía no ha jugado el nivel así que no tienes best time ahora podemos agarrar acá game y este texto es el nuevo name tex y ahora si nuestro nuevo panel está correctamente hecho podemos incluso.

Agarrar estos dos y moverlos en el centro como quieras para que se ubiquen correctamente puedes hacerlo más grande o más chiquito vamos ahora al código para poder trabajar esto primero queremos hacer referencia al texto de acá el texto de acá estos cuatro textos de este time para poder editar los así que queremos encontrar nuestro el es.

Igual manager así que él es igual manager queremos hacer referencia a esos textos porque queremos mostrarlos así que text sacarle bone name vamos a darle también james found james target best time vamos a poner a coma y time target definimos esto de una vez para poder.

Tener acceso a estas a estos componentes entonces james found la vamos a darle james and text este es el texto así que james un nuevo texto al igual que ambas y vamos a decir james found vamos a darle times bound game in the ball game in nuevo best time es time y target time.

Ahora tenemos todo asignado correctamente vámonos ahora a definir en nuestro map point así que clic en el libreto de map point tenemos que definir cuál es nuestro pets time y nuestro target time así que acá en un flow vamos a decir public cloud best time.

Y target time así que con esto hecho vámonos a nuestro el de ayer y donde estamos mostrando nuestra información acá en show info abajo queremos mostrar esta información que acabamos de definir así que primero estamos definiendo el level name ahora james found tex.

Tex va a ser igual ahora queremos empezar con found dos puntos espacio y vamos a concatenar acá la información que tenemos guardado en level info así que el rol info james collective game collected punto tenemos que crear ahora entonces james collected dentro de nuestro le done info recuerda este james collected hace.

Referencia de nuestro map point acá le dije best time y vesta get time pero no agregue el game collected y todos james así hicimos producto al time ahora queremos también poder mostrar nuestro game así que público int james colecta de las gemas que hemos recolectado y las total james que tenemos para mostrar ahora si podemos.

Agregar acá james collected y así vamos a poder mostrar las gemas que hemos recolectado en el nivel mostramos las gemas ahora james target queremos mostrar también el game tiger text y el game target va a ser igual primero mostramos el texto que queremos mostrar y ahora le doy info punto todo game cada nivel vamos a declarar cuantas.

Gemas tenemos ahora 30 g vamos a decir punto text es igual target y ahora para poder mostrar esto vamos a concatenar vamos a usar level info punto target time y vamos a concatenar lo con segundos para mostrarlo en segundos finalmente.

Vamos a trabajar el best time qué pasa si nuestro press time es igual a cero vamos a decir if level info punto best time es igual a cero entonces best time punto text es igual antes 12 queremos tenemos 1 2 3 de esta manera de ésta también pez y.

Ahora vamos a poner els y vamos a decir best time punto text best pero esta vez si queremos mostrar el texto así que vamos a decir acá en vez de mostrar sólo estas tres rayas vamos a concatenar nuestros ring the best time que tenemos el dedo info así que el nuevo de info punto veces time y como queremos mostrar.

Un entero en forma de cadena de texto vamos a decir tú string abrimos paréntesis y ahora para poder mostrar nuestros dígitos decimales de segundos pasando tenemos que decir f 2 si quiere mostrar dos dígitos dos decimales cuando usas tu string entonces tu string más los segundos.

Podemos mostrar todo esto vamos a ver que hicimos cuando nos vamos a nuestro adhesivo de candás y nos vamos a un match point tenemos para el match point 1 por ejemplo podemos decir que nos conecte 3 todos los games tenemos 10 o 20 nuestro best aim fue de 45 y el target time de 90 vamos a darle play y ahora tenemos todo esto mostrándose.

Correctamente podemos ahora seguir trabajando con todos estos valores conforme vamos terminando los juegos vamos ahora a guardar los valores de las gemas que agarramos en los niveles y el tiempo que hacemos en el nivel porque hasta ahora podemos mostrar la información pero no estamos de hecho.

Guardando ningún valor así que vámonos a nuestro nuevo manager entonces busquemos acá el nuevo manager y primero arriba en nuestras variables tenemos la cantidad de gemas que estamos recolectando eso sí lo tenemos pero el tiempo vamos a primero hacer ahora el tiempo así que vamos a decir public el tiempo es un float vamos a decir float y.

Time in life ball vamos a guardar el tiempo que estamos en el nivel y el timing le volvamos a decir en el start el timing level es igual a cero y ahora durante el juego vamos a ir incrementando el timing la bola ahora que recuerda que estás trabajando con un flow así que tenemos que poner efe para incrementar el tiempo vamos a.

Decir time in la voz más igual y usamos time punto delta también para hacer el incremento ahora de hecho queremos guardar los valores de las gemas y el timing level en el player press así que similar a como hicimos este player press podemos copiar acá de hecho este player press y voy a hacer un set int para crear otro en entero vamos.

A agarrar el valor que está en el active sin pero esta vez en vez de usar un lock te voy a decir game acá estamos guardando el valor de las gemas y vamos a darle james collected ese es el valor de las gemas para el tiempo vamos a hacerlo igual pero el tiempo no es un entero es de hecho un flow así que se flota agarrarles en.

Activa y vamos a decir en vez de james vamos a decir time y el tiempo está en inglés con esto que hemos hecho vamos a guardar los valores del tiempo y de las gemas en el nivel que estamos jugando ahora vámonos a nuestro map point y queremos mostrar en el mapa point esta información así que en el start tenemos el islr.

Encima de este es lo que vamos a hacer el chequeo si tenemos player preso no vamos a decir y player prevé punto husky abrimos paréntesis y el kiesle volturno entonces nuevo cloud más trabajo acá entre paréntesis de hecho entre paréntesis y trabajo james vamos a.

Decir mostrar ramas colectivas y que tenemos collected es igual a players qué int qué inc un toque y abrimos paréntesis le bolt un laudo más james y así podemos traer lo que hemos grabado de cuando terminamos el juego ahora.

Hagamos lo mismo para el otro valor de tiempo así que acá copiamos esto lo pegamos y en vez de james decimos time en vez de decir acá si tenemos un interés un flow y en vez de james decimos time en vez de james colectores best time es igual a twitter basket flow out loud' time ahora probemos esto.

Volvamos al juego carguemos un nivel entonces vamos a cargar el nivel unos al nivel 2 vamos a cargarlo agarramos todas las gemas vamos a terminar el nivel vámonos al nivel 2 y acá tenemos 4 gemas y nos tomó ocho segundos hacerlo estamos ahora solamente guardar el mejor tiempo y las mejores gemas que agarramos.

Si la primera vez que corremos agarramos una gema y la segunda vez agarramos dos queremos guardar la vez que agarramos dos gemas entonces para hacer eso ubiquémonos en nuestro lado de manager ahora acá es donde tenemos que trabajar primero estamos chequeando si tenemos las gemas recolectadas pero antes de.

Hacer eso vamos a hacer un check para ver si ya tenemos gemas recolectadas así que acá voy a poner y vamos a acceder a project pruebas y vamos a decir punto husky abrimos paréntesis y vamos a cargar esto acá para ver si ya tenemos esta llave entonces en caso de tener esta llave.

Vamos a abrir paréntesis y es aquí donde vamos a decir entonces si tenemos gemas recolectadas que son mayores a las que ya habíamos recolectado para poder hacer referencia a eso tenemos que copiar esto y lo pegamos acá las que ya habíamos recolectado entonces vamos a decir play a press.

En el set get in para obtener el que ya habíamos recolectado y en caso de que sea mayor vamos a hacer la función de estar acá la pegamos acá y tenemos set int entonces estamos siguiendo si ya tenemos gemas recolectadas de ser así vamos a ver si tenemos el número dejemos que.

Recolectamos de ser mayor lo vamos a hacer acá y lo vamos a poner como set inc hagamos lo mismo para el tiempo así que primero hagamos un hash time vamos a copiar esto y acá vamos a decir hash time en vez de tiempos vamos a decir time y acá vamos a decir husky ponemos time.

De ser así vamos a decir hay miles ahora queremos si quiere que sea menor al tiempo que ya habíamos hecho porque si corremos menos tiempo entonces es un nuevo récord vamos a copiar esto vamos a poner get get loud' y de ser así entonces se te amo saca el flow listo vamos a.

Probar esto vamos al juego y nota el nivel 1 hasta con 000 nivel 2 también todos están con 0 0 0 el 3 no va a funcionar entonces 1 y 2 vamos a jugar y ahora 4 gemas encontradas ocho segundos 22 y ahora hagamos acá que el primero juguemos entonces el nivel 2 vamos a ver.

Tenemos 4 y hemos hecho 8 segundos con 22 vamos a darle play voy a agregarle más gemas al nivel 2 veamos entonces vámonos al ego select vamos a darle acá 8 segundos tenemos que esperar un poco ya entonces en el nivel 2 acá tienes 8.

Gemas que encontramos y de hecho no lo hice en 8 segundos 8 segundos es el mejor tiempo que hice ese juego ese nivel ahora vamos a mostrar dos medallas para cuando el jugador encuentra todas las gemas y hace el tiempo en el nivel entonces acá en nuestros gráficos tenemos en el over world acá tenemos sobre world badges tenemos.

Un mini reloj y tenemos una mini gema vamos a moverlas para que se encuentren acá voy a mostrar la mini gema y el mini reloj y vamos a hacerlo child de este game project vamos a apagarlos íbamos a hacer overdrive ahora vamos al mabhud point 2 prendamos lo puedes ver que se prenden acá.

Entonces se van a mostrar estas gemas y este reloj cuando completemos todo lo que tenemos que hacer en el nivel vamonos entonces a nuestro libreto de los smartphones para incorporar esto primero tenemos que hacer una referencia al game ya que son las gemas que acabamos de agregar porque queremos aprenderlas y apagarlas tenemos.

Jane bad time batch ahora tenemos el número total de gemas y tenemos un tiempo target si nuestro tiempo es menor que el tiempo target y el número total de gemas es total al que queremos entonces vamos a mostrar las gemas acá entonces abajo hagamos if game collected mayor o igual al total james si hemos recolectado el número total de gemas.

Vamos a decir que quien va de punto set active estruch y ahora hagamos lo mismo para el tiempo entonces muy similar voy a copiar esto voy a pegarlo sólo voy a cambiar el yen bat por el time band y james collected ahora es el best time que sea menor al tiempo total así que tú auto time time time y tenemos que decir que el pes time no.

Puede ser igual a 0 porque si no se va a mostrar en todo de todas maneras cuando el 0 and bess best time no puede ser igual a cero ahora voy a agarrar el match point 1 voy a asignarle el game boat y el time batch entonces busquemos acá del match point tenemos clock y el back target time vamos a decir que el tiempo.

Objetivo es 60 segundos doctor james en este nivel tenemos todos ya no tenemos que decirlo por nivel vamos a guardar vamos a armar puntos tenemos el match point 2 target time 60 en más puntos el autor james creo que teníamos 4 y creo que en el mapa 1 no creo que en todos james vamos a ver cuando esto tú tienes.

Tenemos el match point 1 y más puntos como salma para uno y tenemos tres gemas y en el mapa 2 tenemos 6 gemas así que volvamos al ego selectivas y así queremos lo correctamente osaka acá tenemos tres gemas y acá tenemos seis gemas ahora vemos la play juguemos el nivel 2 para nota que el club de las gemas están prendidas en.

Todos estos mapas así que queremos desactivarlo para estos mapas también fíjate dónde aparecen quieres moverlo para que esté correctamente posicionado si es que se mueven así pero podemos ampac prefab de acá una vez que ya esté listo para editar los mapas entonces vámonos al mapa 12 mostremos sus barrios y sus clocks ahí están bien.

El club de play ya esto ocurre porque cuando mostramos el overdrive ya me di cuenta cuando mostramos el dover right mostramos que estos son niveles y estos no son niveles así que seleccionemos estos y digamos que no son niveles podemos borrar también el nombre y esto porque éstos no son niveles pero estos sí son niveles.

Ahora si se debería ver mejor el mapa y ésta ahora tenemos que asegurarnos que esto se muestre correctamente acá hagamos un cheque igual como hicimos con el tiempo es mayor o igual a todos llenos total james no es igual a cero tengamos acá vamos a file edit club old webs y es entonces ahora probemos lo que hicimos.

Con el mapa limpio tenemos el match point 1 game connected tres puntos james veamos demos la play ahí está tenemos tres gemas tres el tiempo y se muestran las gemas ahora no está como en las gemas están detrás de el mapa arreglemos eso dándole a la gema acá que esté en el short y the player.

Asignemos esto como verdad y recuerda que al hacer override tienes que chequear de nuevo dos match-points que estén bien muy bien vamos a hacer ahora para que cuando terminemos de jugar un nivel por ejemplo el nivel 2 cuando regresamos al debut select queremos regresar al nivel 2 para no estar siempre regresando al nivel 1.

Así que vámonos a nuestro lado manager primero hagamos una referencia en nuestro lado manager acá arriba donde están los players en nuestra rutina acá después de la unl oct decirlo 1 vamos a crear un string una cadena de texto que guarde el nombre del nivel que.

Acabamos de terminar así que vamos a decir player press punto set string abrimos paréntesis vamos a guardarlo el covent lado esta es la llave vamos a llamarlo así y ahora queremos darle el nombre de sheen manager el nombre de la escena así que con su manager pulsamos de tactics sing.

Y abrimos 46 puntos names para agarrar el nombre de la escena y así guardamos en un valor de player prevé el nombre de la escena que acabamos de terminar entonces ahora con esto creado vámonos a nuestro levus led manager primero vamos a hacer una referencia a todos nuestros puntos puntos primero vamos a hacer una referencia a todos los.

Puntos del mapa que tenemos así que vamos a decir private map point vamos a hacer una matriz de los puntos que tenemos y lo vamos a llamar points ahora en nuestro start vamos a empezar diciendo que el point es igual y vamos a y vamos a encontrar el objeto entonces vamos a encontrar todos los match points así que find game project find out.

Project of days of time estamos buscando el tipo match point vamos a abrir acá paréntesis y con eso agarramos todos los match points sin tener que estar dando los uno por uno ahora si el player pref tenemos el kit de clearing luego como lo guardamos anteriormente vamos a decir si players punto husky.

Cree en la voz abrimos paréntesis vamos a decir que fort y abrimos en un ciclo loop abrimos un for its un ciclo for each y vamos a buscar todos los puntos que se encuentran en map points así que decimos match point point vamos a agarrar todos los puntos en el point queremos el punto del match point que se.

Encuentra en todos los puntos y en caso de que en el point punto de volturno tengamos el cranky que diga player prevé punto get string grand lado en caso del nivel que es que en caso del punto del nivel que estamos por cargar tengamos creer en lagos vamos a hacer expone en ese punto en ese nivel.

Así que vamos a decir a cada player punto transform punto posición es igual a point punto transform punto posición y luego queremos decir que el grand wind para guardar el core en cuenta el jugador es igual a point y listo con eso ahora cuando terminamos el juego vamos a guardar todos nuestros.

Libretos cuando terminemos el juego acá cuando vamos al nivel 2 pasamos el nivel 2 y ahora nota que al terminar el nivel 2 estamos estudiando en el nivel ahora estamos cargando los niveles cuando pasamos por el checkpoint pero qué pasa cuando en el menú de pausa le damos.

Alero select vamos a nuestro menú de pausa entonces si cargamos en los sets en los sims el nivel 12 por ejemplo tenemos nuestro menú de pausa busquemos el menú de pausa con nuevo pack y wake ambas post screen en candás acá el bus lake nos lleva al nuevo select.

Cuando golpeamos de los electos a este menú de pausa cuando golpeamos level select también queremos guardar nuestra posición así que vámonos a nuestro lado manager copiamos esto y acá en post menú vamos a pegarlo vamos ahora a cambiar la música cuando ganamos el juego y tenemos para eso que.

Pausar la música de fondo y correr la música de juego de ganar así que vámonos a nuestro audio manager así que vámonos por acá audio manager dos clics en el libreto y tenemos nuestro 'legales' music y nuestro pique ahora vamos a usarlos vámonos acá abajo creemos una función para poder usarlo public void vamos a decir play lebu music.

Reid el victory mejor víctor ring primas paréntesis y primero queremos pausar la música de fondo que está corriendo así que decimos begin stop stop y luego en music que queremos correrlo para poder empezar a mostrar la música de victoria y ahora si tenemos que llamar esto cuando estamos ganando.

Eso lo hacemos en la corrupta ina de level en donde tenemos el nuevo manager acá en la cortina del volante busquemos dispongo routing no en leb está acá entonces el nuevo co routing vamos a apenas golpeamos el nuevo cortina empezar audio manager punto instance punto play la bone giucich el victory y ahora probemos terminar este nivel ahí.

Está listo ahora tienes que agregar música al nivel de level select como ya te he mostrado cómo se hace entonces agrega efectos de sonido y música level schleck para que no esté tan callado muy bien con eso vamos a pasar el próximo vídeo vamos ahora a agregar un botón de continuar para poder continuar el juego.

Cuando dejamos de jugar entonces vamos a nuestras escenas vámonos a a nuestro post menú vámonos a nuestro main menú y acá tenemos quit start y queremos acá agregar otro botón así que vamos a duplicarla y play botón lo ponemos acá arriba y vamos a moverlo así que dos.

Clics acá nos ubicamos y lo movemos vamos a cambiarle el texto en vez de esta vez vamos a decir continuo y este va a ser el botón de continuar al inicio el botón de continuar no se muestra entonces lo apagamos ahora vámonos al libreto tenemos que abrir el libreto de main.

Menú así que en el canvas tenemos main menú tenemos que decir que estar sin no es test 2 más bien el starting es luego select muy bien main menú cada dos clics en el main menú vamos a estar sin coma continuó sin tenemos el seno del inicio y vamos a cargar ahora la escena de continuar.

Para el botón tenemos que crear una función así que pavlik void vamos a decir continuo y le decimos sin manager punto load sin audio aparentes y continuó sin punto y coma eso es suficiente para cargar el botón de continuo vamos a.

Asignar lo de una vez continuo botón acá clic un clic vamos a decir main menú continue game ahí está bien ahora lo siguiente que tenemos que hacer es venir acá y cuando empezamos el star game decir que queremos borrar todos nuestros player pérez eso lo vamos a hacer acá entonces apenas le damos a.

Star game player press punto delete siempre seamos un nuevo juego desde cero finalmente para poder mostrar el botón de continuo o no tenemos que primero cargar acá el game over que hemos apagado en el juego que es el botón de continuo game and brave continuo botón el botón de continuo vamos a agarrar acá.

En el start entonces en la función start vamos a decir y player punto husky algunos paréntesis starting más con locke si tenemos el zinc desbloqueado eso significa que si ya hemos jugado el juego por lo menos si hemos encontrado.

El kit de lo que vamos a poder entonces tener el botón de continuo botón punto set active group de lo contrario else continuo botón set active va a ser falsa entonces le pasamos acá guardamos y ahora probemos nuestro botón de contenido le damos a play y debería conseguir votos 20 -.

Nominación y vamos a ver qué nos falta asignar acá continuó sin y continuo botón primero asignamos el continuo botón y la escena de continuo la dejamos así vamos a darle limpiamos la consola vamos al juego démosle start pasamos esto ahora.

Cierro esto le damos a play nos faltó asignar la escena de continuo acá la escena de continuo cuando empezamos el estar sin nuevos soles eso es el nivel 11 y continuó es la emoción ect muy bien ahí está entonces ahora si el botón de.

Contenido se muestra a usarla continuo y tenemos para continuar el juego vamos ahora a crear un one way platform es una plataforma que nos permite saltar caer en la plataforma pero no podemos caer de la plataforma solamente podemos saltar desde abajo de la plataforma entonces para hacer eso vamos primero a buscar el gráfico del one wing platform.

Vámonos saca tu de platform graphics y vamos a buscar ledo mechanics tenemos nuestra plataforma vamos a jalar la aca y mostremos la en nuestra plataforma vamos a hacerlo en one way platform pongamos acá one way platform lo primero que queremos hacer es darle un líder a esta plataforma así que vamos a darle un.

Ex líder vamos a poner a collider pero hacer una ético líder tour y vamos a editar el código del colíder entonces esta línea que estás viendo acá es el colíder voy a moverlo en 0.5 para que esté acá arriba ahora que tenemos nuestra plataforma vamos a darle clic y acá como tag vamos a decir acá attack vamos a crear un tag.

Y vamos a decir platform y también queremos crear un léger así que acá platform volvamos a clic en when we platform y cátac vamos a decir platform player platform ahora vámonos a nuestro lado pack vámonos a nuestro jugador vale salek.

Está acá para abrir el player acá en el perú desde el proyecto del pri fap entonces busquemos acá abajo nuestro jugador nota que what is ground detecta piso pero también queremos disfrutar las plataformas ahora vamos a nuestro one way platform y agreguemos un efector entonces efector.

Fue un efecto a tutti y este efecto nos permite usar one way no está acá one way ahora el surf start o 180 es muy grande 90 vamos a dar la play nota que no funciona tenemos que venir acá y decir used by efector dale acá vamos nuestro one way platform un poco más abajo dale al play.

Y ahora nota el arco que se forma ese arco nos permite evitar golpearnos con el borde de la plataforma y no hacer colisión entonces ahora si tenemos una plataforma en la que podemos pararnos correr salta y no tuvimos que escribir ninguna línea de código.

Quizás la plataforma pone más abajo o hace el salto más alto listo esta es la plataforma one way vamos ahora a crear una plataforma que se mueve vamos a dar la cara create empty vamos a llamarlo mobile platform ahora podemos agarrar nuestro one way platform que ya lo tengo creado como prisa y vamos a ponerlo adentro del.

Mobile platform entonces podemos borrar el one we platform primero porque vamos a jalarlo directo adentro del muvim platform voy a poner esto en 000 y el one way platform 0 y 0 y ahora sí está bien alineado ahora nuestro mobile platform tiene un one way platform vamos a crear a camps y.

Iba a ser punto 1 es el punto 1 y acá vamos a duplicarlo y es el punto 2 el punto 1 vamos a ponerlo acá dejarlo ahí y el punto 2 voy a ponerlo acá eso es la trayectoria de la plataforma puedes agregar cuántos puntos quieras y al darle cualquier verticalidad que desees vamos a hacer tres puntos.

Ahora démosle un libreto el muy bien plataforma así que vamos a nuestros scripts y creamos un mobile platform script muy bien platform vamos a jalarlo al muy bien plataforma k dale click y halal o.

Ahora vayamos al libreto de mobile platform y empecemos primero dándole la matriz de puntos que hemos creado así que vamos a decir public transform vamos a hacerlo una matriz y vamos a crearlo llamándolo points ahora public cloud vamos a decir mucho speed y pavlik / vamos a crear un entero y.

Vamos a decir el 40 20 en el que nos encontramos puede ser el punto 1 punto 0.2 ahora queremos tener también acceso a la plataforma así que vamos a decir public transform platform porque queremos moverla y con todo eso vamos ahora acá la función de update para poder decir.

Platform position vamos a mover la plataforma de esta manera decimos vector 3 y vamos a usar la función move to words para poder hacer el movimiento ahora vamos a agarrar la plataforma decimos platform position y vamos a mover ese movimiento a los puntos entonces el movimiento va a ser así.

Vamos a agarrar points agarramos el green point y luego le vamos a decir que vamos a punto posición de ese punto el movimiento la velocidad sera vamos a poner coma y tenemos que decir la velocidad de movimiento así que muchos speed va a ser x time punto delta time.

Con eso estamos haciendo el movimiento de la plataforma ahora vamos a decir que en una declaración if en caso de que la distancia de la plataforma y el punto sea menor que 0.05 vamos a movernos al próximo punto para así hacer una integración entre.

Todos los puntos que tenemos y si llegamos al máximo punto de triple puntos que tenemos o sea tenemos 3 si llegamos a 4 vamos a decir que el punto actual es 0 para regresar al inicio así que vamos a decir vector 3 punto distancia pistons de la platform punto position si ésta es.

Acá vamos a poder agarrar esto la distancia entre platform position y el platform the point tiene que ser vamos a cerrar este paréntesis y decir menor que 0 punto 05 y ahora en caso de que la distancia sea menor a esa tenemos que integrar el.

Próximo punto así que vamos a decir que rim point más más tenemos el próximo punto y en caso de que ya estemos en el último punto vamos a decir que hoy ntt sea mayor o igual a points punto links vamos a decir que rent point es igual a 0 ahora tenemos los tres puntos vamos al muy bien platform tenemos que asignar.

Los tres puntos así que punto 1 punto 2.3 speed vamos a decir muchos pit de 5 y el 40 en tercero el platform va a ser este demos la play y tenemos nuestra plataforma que se mueve pero por el momento no podemos caer encima de la plataforma y la plataforma.

Si caemos encima no nos va a mover así que queremos hacer que esta plataforma nos pueda mover pasemos ahora a hacer eso ahora para poder hacer que la plataforma nos lleve en ella tenemos que hacer que el jugador el player sea child de esta plataforma si el jugador es child de la plataforma.

La plataforma nos lleva así que para lograr eso tenemos primero que asignar al jugador como hijo de esta plataforma cuando golpea con la plataforma y cuando saltamos tenemos que sacar el hijo de la plataforma para que podamos seguir corriendo y que la plataforma no nos influencia así que.

Para hacer eso vamos a nuestro móvil platform vamos a abrir acá el libreto así que para hacer eso vamos a nuestro play el control de cada eléctrica player a nuestro play de control der abramos de play off con robert y cada abajo vamos a decir private white and.

Collision enter entonces con colisión entre tutti en caso de que la colisión sea otro play entonces en caso de que el tag the other vamos a buscar por plataformas en caso de golpear una plataforma si golpeamos una plataforma o del punto game project es igual su tag a platform vamos a decir.

Transforma event es igual a poder punto transform así asignamos como hijo de nosotros a la plataforma si golpeamos la plataforma vamos a ser hijos de la plataforma ahora tenemos que dejar de ser hijos de la plataforma en caso de que aun colisión exit así que vamos a copiar esto y vamos a.

Decir en vez de enter exit and collision exit si estamos saliendo de una plataforma entonces queremos dejar de ser padres de la plataforma así que no para dejar de ser padres de la plataforma ahora vayamos a la plataforma demos la play ahora vamos a si caemos en la plataforma la plataforma nos lleva con ella.

Ahora vamos a también poder hacer que eso si quieres puedes hacerlo una mecánica así que te dejo a ti para que puedas activarlo como mecánica podría decir acá if en casa podrías acá decir if.

Y tiki por ejemplo como ya venimos haciendo tendrías que crear un bull vamos a crear un bull y ese tic y entonces acá la plataforma tendrías que crear un platón platform te voy a dejar ese hit eso es si quieres hacerlo una mecánica muy bien vamos a crear ahora un enemigo que puede.

Volar entonces vámonos a nuestros assets busquemos en tu plataforma graphics enemies tenemos acá un enemigo que vuela vamos a configurarlo entonces voy a venir al player akhanli wake and bass black screen voy a bajarle el alfa recuerda subir el alfa para que tu black screen funcione si no va a funcionar.

Esto lo hago para poder ver mejor el nivel voy a agregar un enemigo que huela por acá entonces primero quieres crear un ente game object que va a ser el enemigo voy a decir en mi ego porque es un águila lo que tenemos acá un higo ahora de este ebook queremos jalar acá el águila donde se encuentra se.

Encuentra acá vamos a posicionar la correctamente vamos a decir 000 tenemos nuestras águila en relación nuestro objeto padre ahora el águila recuerda que tenemos que animar la vamos a animar el águila así que vamos a crear desde acá la animación vamos a animation rate.

Assets como nos haces animations puedo decir y sólo tenemos una animación estar acá así que para animar esto recuerda le damos acá desde aquí y buscamos el sprite y ahora nos jala de frente más bien venimos aquí y decimos este no sería el segundo nos quedamos.

Acá tenemos el águila haciendo así luego de acá vamos a este el águila termina de volar y le pasamos el último ahora tenemos la animación del águila volando pasemos ahora a programar para que el águila pueda moverse ahora lo que vamos a hacer es crear.

Nuestro libreto vamos a scripts vamos a decir haga clic derecho o create si sabes qué vamos a decir flying enemy control vamos a pasarlo al águila abramos el controlador y ahora vamos a copiar el mobile platform todo esto.

Lo pegamos acá y vamos a cambiar lo que dice platform por transform así que transforma vamos a copiar acá y platform por transform platform transform y ahora tenemos el movimiento de nuestra águila.

Acá vamos a cambiar el nombre de platform no necesitamos esto así que lo borramos podemos y ahora tenemos el movimiento de la velocidad del águila tenemos el crown point del águila tenemos que darle nuevos puntos así que acá.

Kristen tipo int vamos a poner diferentes puntos para que el águila pueda volar ahora similar como decimos en el movimiento de la rana tenemos que sacar los puntos d el parent entonces acá tenemos el higo higo y estos dos puntos si los dejamos.

Acá no va a funcionar porque van a seguir y seguir corriendo entonces en el start acá tenemos que decir for y ahí que sea igual a 0 punto y coma vamos a entrar en los puntos points punto links y vamos a sacar los puntos del terreno para que no tenga que parent es igual.

Y ahora sí vamos a darle play tenemos nuestro hijo el convoy no es necesario verlo tenemos que asignarle los puntos punto 1 y punto 2 vamos a borrar el componente como público no necesitamos cuando nos van wyk drivers vemos la play.

Y se mueve en nuestro águila nota que el movimiento de nuestra águila necesitamos hacer que cuando llegamos a este punto y nos movemos a la derecha del águila flip en su eje entonces como hicimos igual con la rana vamos a venir acá vamos a decir kliksberg prender vamos a decir días.

Y ahora acá abajo vamos a hacer referencia a eso entonces aquí decimos if transform punto position punto x es menor que 20 cuadrados punto posición punto x el cuerpo acá en el spray prender vamos a hacer el flip de x igual a true es.

Igual como hicimos con la rana lo mismo y ahora el cif va a ser falso el cif tenemos que asignar esto en caso de que sea mayor estamos yendo al otro lado entonces si uno el x es más que uno y el otro es si es que es menor que uno entonces vamos a ver nuestra tenemos que asignar el sprite vender.

Entonces acá tenemos nuestros sprite grinder está haciendo el 'moonwalk' vamos a ver por qué está haciendo el mundo que vámonos el primer punto y voy a moverlo acá ahí está ahora no y no está acá lo dejé en true tenía que ser falls cambia esto no te olvides de poner las fotos porque.

Si no no tú aquí la base del mundo acá vamos a darle play y ahora si el águila debería moverse igual que la rana vamos ahora a hacer que el águila ataque al enemigo cuando estamos dentro de un rango entonces para hacer eso primero vemos clic en el águila y estando dentro del higo voy a poner su tag como enemy le voy a dar un.

Collie un colíder que sea de círculo luego hacemos chiquito y le voy a mover un poco más abajo ahí quizás un poco más a la izquierda ahí ese va a ser el colíder ahora vamos al libreto de arriba primero asignemos dos variables que vamos a usar va a ser la distancia para atacar el jugador y la velocidad de ataque así que vamos a.

Decir public flow artistas tu ataque player este va a ser el área de proximidad y vamos a poner 6 speed para que sea la velocidad de perseguir al jugador vámonos al libreto del fly enemy controller ahora bajemos a donde estamos haciendo.

El movimiento del águila acá estamos moviendo el águila ahora para poder hacer todo esto vamos a crear una condición digamos if vector 3 distance abrimos paréntesis transform punto position como player controller punto instance punto position.

Si estamos el fin control der su transposición se encuentra en relatividad al instante falta transforma punto position instantes punto transform punto posición entonces en caso de que eso sea mayor a la distancia de atacar el jugador vamos a correr toda esta lógica de movimiento.

Els acá vamos a decir transforma ahora ese es el if ahora hagamos el else transform posición es igual a rector 3 juntos words y ahora si perseguimos al jugador así que vamos a decir acá distance the player.

Transform punto posición de control de instantes transform posición y vamos a darle la velocidad a la cual vamos a perseguir porque es muy words lo que estamos haciendo chase speed en puntos de alta time ahora.

No está aquí estamos buscando si la distancia es mayor que la distancia donde estamos el jugador entonces nos movemos normal en la trayectoria de la ruta pero si el jugador se acerca lo vamos a perseguir probemos esto y veamos que tenemos que arreglar acerquémonos entonces acá distance o tag player digamos.

5 y 3 nos acercamos y nos empieza a perseguir ahora mire como nos empuja vamos a arreglar eso vamos a crear entonces un punto del águila apenas ve al jugador digamos que es acá el punto en el que el jugador encuentra el águila el águila va que de crear un target aquí y va a golpear y.

Luego va a regresar para que no empiece a movernos siempre vamos al libreto del águila y vamos a crear un vector 3 vacío así que vamos a decir private vector 3 y se llamará tag al inicio el vector 3 está vacío y luego lo llenamos entonces acá abajo en el els acá vamos a decir atacando al jugador.

Y vamos a decir que sí y vamos a decir if attack target es igual de lector 3.0 entonces hacemos attack target es igual a player controller punto instantes punto transform punto posición pero vemos esto vamos a play.

Entonces acá el distance total player digamos 10 y 6 speed de 4 no se encuentra y ahora acá ahora que hemos definido el attack target en vez de movernos hacia la posición del jugador de siempre vamos a movernos al ataque entonces vamos a perseguir la tag target con esto probemos ahora el movimiento del águila.

Con esto distance total hoy voy a darle una velocidad de 5 y veamos esto nota como el águila ahora ataca el punto donde detecta el jugador primero podemos bajar las listas otras player a 7 para que sea un poco más preciso y ahora tenemos notas de que se quedó en el área.

Tenemos que hacer que regrese vamos a declarar acá arriba en el update aquí en el distance después de haber atacado queremos resetear el attack target y wal a vector 3.0 siempre para poder tener un nuevo target después si es que el enemigo vuelve a acercarse al área del rango de ataque del águila ahora queremos darle un conteo al águila.

Para que podamos decir cuánto tiempo lleva atacando y que espere después de haber atacado para que no se queda atacando todo el tiempo vamos a decir private bull hashtag public cloud vamos a crecer y declarar un tiempo de espera después de haber atacado entonces public cloud week after.

Attack y private cloud vamos a decir el contenedor de cuantos ataques hemos hecho attack counter para contar el tiempo después de haber atacado tenemos que empezar el ataque counter para el ataque con esto vamos a hacer que el águila pueda atacar al enemigo sin tener que.

Estar regresando siempre a sus posiciones de inicio si es que el enemigo si es que el jugador se encuentra cerca vamos a crear un ife vamos a decir vector 3.2 punto distance y vamos a agarrar la distancia entre el águila y el attack target entonces director 3 distance transform punto.

Position como attack target es menor o igual a 1.1 menor o igual a punto 1 f vamos a decir que ya hemos atacado hace táctico la troupe attack counter vamos a decir que es igual a weight after attack para esperar a atacar de nuevo y attack.

Target es igual al vector 3.0 para resetear el objetivo de ataque ahora pongamos esto en un dentro de una declaración if y digamos acá en el update arriba de todo vamos a decir attack counter es mayor que 0 vamos a decir attack attack counter.

Empezamos el conteo con time punto del the times ese es el ifab els después de haber hecho el ataque counter tenemos que esperar a que ocurra el tiempo de elx ponemos todo este y dentro de ese else y listo ahora de hecho este hashtag no lo.

Necesitamos así que vamos a borrar la vaca hashtag guardemos y démosle a play white after attack cambiamos los dos segundos y empecemos a movernos 1 2 y el águila en puede atacar nos si es que nota que estamos cerca vamos ahora a hacer que el águila pueda.

Atacarnos entonces enfoquémonos en el águila acá en la jerarquía vayamos el sprite del águila y achiquemos primero el círculo de nosotros poder atacar el águila y movamos lo un poco más arriba y ahora acá en enemigo vamos a agregar un cerco calavera y ahora movamos ese cerco con heather correspondiente a donde queremos que el.

águila haga el ataque cuando chocamos con el jugador así ahí está tenemos el colíder ahora el enemigo lo ataca no vamos a estar colar un poco más a la izquierda ese es el área en el que podemos matar al águila y este es el área en el que el águila puede hacernos daño ahora.

Agregamos acá el en the enemy fundamentos player y veamos si el águila nos hace daño y cuán fácil es matar al águila hagamos el águila acá trigger de la play y white after attack si le ponemos 0 segundos nos va a atacar siempre tenemos.

Que darle cuántos segundos queremos que es la anguila espere ahí está el águila nos hace daño ahora matemos al águila ya está anotamos el águila vamos ahora a crear un voucher para que nuestro enemigo vamos ahora a crear un spring para que nuestro jugador pueda saltar y vamos y salte más alto vamos a.

Crear un bone ser entonces vámonos a nuestro time a para acá fijémonos en nuestro mundo vamos vamos a pintar a calentar el tablet busquemos el main palet voy a entonces a agregar el bounce vámonos en assets buscamos entidad formar graphics y busquemos el nuevo.

Mechanics acá elb a un ser vamos a agregar primero esté aquí y cuando lo golpeamos nos va a hacer saltar entonces movamos lo correctamente ahí está creemos una animación con esta en aire unos enlaces animation si lo guardamos aquí y creemos una animación.

Va a ser move up o no vamos a jalar esto entonces lo jalamos acá y hacemos que dure medio segundo medio segundo entonces le damos a play y va a ser así y después de medio segundo va a regresar el otro vamos al animator del voucher conectamos estos dos.

Animator main transition vamos a el parámetro decir que es un trigger iba a decir bones y entonces en esta transición no hay exit time vamos a decir que no existe duration 0 y vamos a agarrar que decir bones y debajo será acá si vamos a darle exit time de un segundo y ya está 0 y 0 listo entonces ahora.

Pasemos al código para hacer que este paso ocurra antes de hacer eso tenemos que venir vamos a ir acá y crear un líder así que acá creemos el colíder del va a un ser cuando está en el aire clic alba un ser a componer con líder y achiquemos este colíder.

Cuando golpeamos el panzer entonces vamos a saltar vamos a hacerlo trigger y ahora sí creemos el counter script van a sacar clic derecho create si ser script va a un ser así que tenemos lo haga clic en él va a un ser y asignemos no y abramos el libreto así que primero hagamos una variable que.

Haga referencia al animador así que private animator animator vamos a llamarlo anime y ahora en el stack vamos a decir que anime es igual a que componen vamos a dar el componente de animador y vamos a definirlo ahora que agarramos el componente a un trigo entre vamos a decir.

Ahora que tenemos el componente vamos a decir un trigger enter tutti cambiamos el colisión por hacer y en caso de que el jugador golpe con el bound ser vamos a elevarlo así que if a der tag es igual a player en caso de que o del punto tax sea igual la playa y vamos a decir que player.

Controller punto instance y punto el habitual punto velocity es igual a new vector 2 player controller punto instance del bichito.

Y el x no lo vamos a afectar así que la velocidad de nx del bridge por y lo dejamos haciendo más pero el bound force acá vamos a decir bound wars vamos a aplicar un bounce fuerza así que acá creemos un int vamos a ir un pueblo llamado bounds force y va a ser igual a 20.

Probemos esto y no nos olvidemos acá de aplicar la animación así que ánimo punto set trigger bones porque si no no va a animarse veamos ahora sí y esta va a ser ahora te dejo como reto darle una animación de audio tienes que.

Agregar el audio eso es bien sencillo ya lo hemos hecho para todo esto muy bien pasemos ahora al siguiente paso vamos ahora a crear un switch para poder abrir y cerrar puertas entonces voy a agregar una puerta aca vamos a hacer vámonos a cada tweet platform air graphics abrimos las dos mecánicas y.

Ahora vamos a trabajar con puertas así que ahora vamos a jalar esta puerta por acá y digamos que esta puerta está bloqueando el camino para entrar a un lugar secreto vamos a tener nuestra puerta y para poder abrir esta puerta tienes que golpear el switch que está acá así que.

Voy a poner el switch está ahí vamos a darle al switch primero su correspondiente vamos a hacer un cerco con leader así tienes que golpearlo stringer y el dow tiene un box con líder que no nos deja pasar ahora vamos a hacer el libreto del switch vamos acá en.

El granca ese es el switch vamos a assets scripts vamos a decir acá create si jobs script tribus es decir switch ahora vamos a darle a este switch él responde el correspondiente libreto abramos el libreto y ahora primero queremos decir qué objeto queremos hacer switch vamos a decir public image act y abyectos 28 vamos a decir.

Es el objeto que tenemos que hacerle switch luego necesitamos decir el sprite render porque tenemos que cambiar el switch a otro tipo de sprite cuando lo golpeamos para hacer visualmente el feedback de que hemos golpeado un sprite así que es para vender y eso no se llamara y queremos ahora a decir public.

Sprite vamos a buscar el sprite del switch cuando está hacia abajo entonces down sprite ahora vamos a decir si es que hemos hecho el switch así que private si ya se ha activado el switch o no se ha activado el switch hast switch para poder hacer la lógica de si se ha activado o no a.

Través de una declaración if y ahora queremos activar o de actividades activar la puerta cuando la golpeamos así que pavlik wood de activate con switch punto y coma ahora vámonos al start y digamos que el sprite render y agarremos el spray.

Vender digamos 10 es igual a get component y vamos a obtener el spray render correspondiente a través del get componente con esto estamos obteniendo el spray render de nuestro switch ahora android enter vamos a reemplazar el update con un river enter entregar en directo y cambiamos colisión por ader y decimos si el jugador con.

Golpea el switch así que if there wood punto tag es igual a player y entonces and no hemos hecho switch hast switch en caso que sea desde el caso y aprendamos de activar un switch para.

Poder decir que si queremos que esto sea un switch que prende y apaga puertas if the activate un switch está activado porque puede ser que el switch no esté activado y activado un switch entonces object un switch punto se está activo igual a false els proyecto switch set active troupe ahora.

Queremos cambiar el sprite render también cuando hacemos colisión para demostrar visualmente que hemos hecho colisión así que los sprites render puntos bright es igual ataun right y hasta suites vamos a decir que es igual a true vamos a probar nuestro switch ahora así que vámonos a nuestro.

Switch acá object tu switch tenemos que cambiar en la puerta así que es la puerta la que vamos a hacer aparecer o desaparecer el downgrade va a ser la del switch que se ha golpeado así que acá en tu plataforma graphics las dos mecánicas busquemos el switch o hacia abajo entonces frank down y queremos que este sea un objeto que si.

Se activa cuando lo golpeamos así que veamos lo que hemos hecho la puerta está acá y no nos deja pasar vamos a volver el switch el switch se golpea y la puerta se debería de activar no está acá un error puse estos dos afuera tengo que ponerlo adentro del if entonces lo ponemos adentro del y ahora.

Probemos vamos a nuestro switch y tenemos el objeto switch que es la puerta que queremos que aparezca y desaparezca movamos la por acá tenemos la puerta el dolor y el switch va a ser que la puerta desaparezca nuestro gran que vamos a darle click acá y tenemos el granca down y de activision suite significa que.

Cuando golpeamos el switch la puerta desaparece golpeamos el switch y la puerta desaparece volvemos y ahora si quieres hacerlo al revés se activa un switch la pagas y la puerta puedes apagarla le das a play y ahora es al revés activas el switch y la puerta aparece.

Vamos a configurar ahora las animaciones del jefe para empezar la pelea contra el jefe primero vamos a crear account game effect y se va a llamar el box button entonces primero que vemos que vamos a hacer creado este mundo es un nivel se llama 2 tenemos el área donde vamos a caer y vamos a explicar contra el jefe y luego acá vamos a ganar y vamos a.

Poder pasar el próximo mundo así que dentro del box button vamos a jalar primero a nuestro voz vámonos acá graphics tenemos el boss y este es el primer bus con el que vamos a pelear hallemos entonces al tanque acá lo tenemos vamos a alinearlo con el objeto aquí para que sea hijo de este object.

Y ahora creemos las animaciones del tanque vamos a darle a create assets animations voy a aclarar que los voces voy a darle a new voz y este es el tanque vamos a decir tank idol el tanque estando idol vamos a poner esta de acá y luego vamos a usar esta de acá.

Veamos cómo se ve si le ponemos en 30 es muy bueno en 10 y luego hallemos esta 10 tenemos la play ahí tenemos al boss en idol vamos a crear las otras animaciones create tenemos el boss cuando ha sido agente así que.

Vamos a decir acá tanque de trabajo hit vamos a darle a safe y ya entonces ahora vamos a hacer a nuestros votos cuando está hit así que aquí tenemos el box heat está acá vamos a poner primero estando normal y luego lo ponemos en egipto vamos a poner al voz en egipto jalamos.

Está ahí está el boss cuando se golpea vamos a crear otra va a ser el jefe cuando cuando cierra el lead está de acá nota que se está metiendo al tanque vamos a poner tank close porque se golpea y va a empezar a moverse entonces en tank close vamos a poner esta de acá como en la inicial y luego nos movemos a estar acá.

Vamos a ponerla en 10 luego ponemos está entonces ponemos esta está esta está y ésta vemos como se ve esta famosa ahí está el jefe cierra su tanque su lead se mete y voy a dejarle está duplicada voy a poner control c y acá.

Eleva a fondo el control ve ahí está tenemos una animación más marcada del jefe cerrando su clip ahora el movimiento tan común tan común son estas de acá así que empezamos con ésta todos 34.

5 y 6 veamos cómo se ve ahí está el tanque moviéndose podemos incluso usar el primero y se ve así ahí está tenemos el tanque moviéndose ahora queremos hacer el tanque cuando se abre porque el tanque se abre y antes de empezar a disparar nos en la personita.

Tiene que salir así que hicimos el close vamos a hacer lo mismo pero en open tan joven vamos a ponerlo acá y va a ser lo mismo que el otro pero es al revés veamos cómo se ve y ahora voy a repetir está acá ya está ahí está tenemos el tanque saliendo y ahora vamos a conectar todo esto vamos.

Acá a nuestro ahora vamos a conectar todo esto vamos al animator si le damos click al boss tenemos acá todas las conexiones entonces te he ido explicando cómo se hace el movimiento vamos a hacerlo de nuevo tenemos el tan caído y pensemos cómo se hace esto el primero empieza el tanque.

Estando ahí y si golpeamos el tanque el tanque va a hacer la animación de que ha sido golpeado agreguemos un trigger que sea hit entonces si golpeamos el tanque hacemos acá hit vamos a decir que no hay éxito time no hay fix duration y vamos a poner 0 la condición es que el tanque se ha.

Golpeado si es hit entonces el tanque hacer hit y luego va a cerrar su cláusula para cerrar su cosa para prepararse para mover y atacar entonces cierra su cosa luego de eso tenemos el tanque que se mueve entonces make transition a move el tanque empieza a moverse y luego de moverse el tanque.

El tanque va a abrir su lead así que acá cuando el tanque vamos a poner duration no tiene transición duration cuando el tanque empieza a moverse vamos a poner un driver que sea stop moving y ahora la condición vamos a decir stop móvil finalmente micrón station aquí en aire.

Los exit times vamos a poner uno y recuerda que no hay transición fixture duration entonces los tics duration lo ponemos en cero listo con esto hemos conectado las animaciones empecemos quedando ahora el controlador de nuestro voz faith vamos a nuestra escena tenemos acá a nuestro enemigo voy.

A mover el jugador entonces le vopak lo voy a mover más cerca y así no tener que caminar tanto alberto de pelear con el jefe ahora vamos a crear el boss tank que ahora vamos a crear el controlador así que vamos a scripts y lo vamos a llamar voz tan controlado le vamos a dar clic derecho create.

Script va a ser vox y controller vamos acá a ubicarnos en el padre de la jerarquía del voz alto vamos a jalar lo abrimos el libreto hagamos primero todas las referencias que necesitamos entonces primero vamos a decir cuál es el jefe del transform del jefe queremos tenerlo para poder así moverlo public.

Transform es decir davos y queremos también acceder al animador del voz así que pavlik transform pavlik animator vamos a decirle ánimo ahora queremos acceder a las variables de movimiento vamos a hacer acá heather y vamos a decir movement porque vamos a agregar varias variables.

Y queremos mantener todo bien organizado el movimiento vamos a crear un flow que seamos speed tenemos el mundo vamos a abrir paréntesis y ahora queremos definir los puntos así que estos son los puntos en los que el jefe se va a mover modelo de izquierda a derecha heather paréntesis vamos a decir.

Points y ahora vamos a agarrar el transform de los dos puntos transform the left point y the right point ahora queremos saber cuando nuestro jefe se está moviendo hacia la derecha para hacer el flip lx así que move write.

Solamente para poder mantener la declaración if y ahora queremos las variables cuando estamos disparando así que heather y se va a ser shooting y vamos a decir público game object bulet eso es lo que vamos a disparar el bullet luego lo vamos a crear y queremos un punto de disparo de dónde va a salir la bala así que público.

Transform vamos a decir fire point como punto de disparo public cloud time between shots vamos a decir acá pavlik flow el tiempo entre disparos time between shorts finalmente queremos el shot counter para poder hacer el conteo de los disparos.

Entre el time vicente fox entonces shot counter eso es los disparos ahora queremos con el jefe se golpea queremos decir header abrimos paréntesis y le vamos a decir hard con el jefe sea golpeado acá le vamos a pasar un public cloud y va a ser el tiempo que el gps se.

Mantiene golpeado entonces heart time luego private cloud y le vamos a decir hard counter y eso son todas las variables que necesitamos para trabajar con nuestro jefe sabíamos por acá y ahora asignemos todo esto entonces tenemos a cada tanque vamos a cambiar este nombre por la tank.

Ahora cambiemos clic en voz battle y asignemos el jefe es el tanque el animador está en el tanque el mundo speed va a ser de 13 vamos a darle le point y break point nota cómo sale acá entonces voy a quitar este header de points ya que no lo hace verse bien ahora si le point y bite point así que desde acá vamos a asignar.

Un nuevo anti gay map project encontremos lo primero y movamos lo acá abajo ese es el left y luego queremos el bright así que le point y luego queremos el right point ahora el tanque que queremos decir green y temps i iii y este es el fire point nos vamos a mover de donde queremos que sean las.

Balas desde acá fire point luego lo vemos para arreglar el punto si es que se ve animal entonces 2 batum asignemos el left point asignemos el right point la bala después la vamos a crear el fire point time between shots vamos a decir 1.5 segundos y el xerez time va a ser de 1 para controlar a nuestro jefe vamos a.

Usar máquinas de estado así que vámonos a nuestro boston controller y acá arriba vamos a usar enumeradores entonces vamos a decir paulik inam y voz states éstos son los estados de nuestro jefe en el que se puede encontrar estos estados son el estado de disparando shooting el estado de golpearse heart y el estado de mover.

Estas son máquinas de estado tenemos tres posibles estados en los que se encuentra el jefe vamos a definirlo acá y ahora vamos a declarar una variable de esto vamos a decir public 2 states y ahora tenemos que crear una variable diciendo karen states así tenemos una variable creada de voz state el jefe siempre tiene que encontrarse en uno de.

Estos tres estados o está moviendo se está disparando o se está haciendo daño ahora que hemos definido esto queremos ir al start acá y definir cuál es el corriente state siempre quieres definir el grand state de una máquina de estado cuando la creas voz states punto shooting va a ser el caso inicial y ahora a través del apdayc function.

Queremos crear un switch case switch y vamos a usar los colores state para hacer ese streets case y el switch case vamos a decir que pasa es que estamos en el caso de shooting heart y moving así que en case we are the post states punto shooting vamos a hacer cierto lógica del código.

Vamos a poner en cada lógica en caso de que estemos haciendo voy a copiar acá esto y voy a pegarlo en caso de que estemos heart tenemos otra lógica y en caso de que estemos moving vamos a correr otra lógica entonces tenemos todo listo vamos ahora a empezar a trabajar la lógica de movimiento de nuestro jefe hagamos ahora la posibilidad para que.

Nuestro jefe reciba daño así que vamos a trabajar el hard cakes entonces vamos a crear una función nueva después de la plate function vamos a decir public void y vamos a llamarlo take hit y ahora cuando nos golpeamos vamos a cambiar el estado de heart así que karen the state es igual a post states punto hard para cambiar ese estado y si cambiamos el.

Estado tenemos que empezar el conteo para decir cuánto tiempo queremos estar en la animación de hard times ahora vayamos a la red counter vayamos al caso de alerta acá y digamos en caso de que estemos en este estado porque tenemos que activar la red keys en caso de que estemos en ese estado if al counter todavía no llega es mayor que.

0 entonces si todavía no llega a 0 vamos a hacer el head counter que empiece a contar entonces menos igual a time punto delta time para poder llegar a 0 en caso de que sea menor o igual a cero vamos a decir if red counter al counter menor o igual a cero en ese caso tenemos que decir que nos vamos a empezar a mover porque ya pasó la animación de golpearse.

Los states punto moving trabajemos ahora la lógica de movimiento vámonos al case móvil ya tenemos una forma de hacer transicional muy bien ahora en caso de que estemos en móvil si nos movemos hacia la derecha tenemos acá el move right en el muy bien dijimos muy fright.

Entonces si nos movemos a la derecha fried entonces debo punto position va a ser igual vamos a decir más e igual para hacer el movimiento new vector 3 abrimos acá y decimos mucho speed x time punto del time ahora queremos como el sector 3 ese es.

El eje x tenemos que decir el eje y el eje z y así afectamos el movimiento de nuestro personaje ahora yf abrimos acá paréntesis ambos punto posición x es mayor que el break posición que vamos a dejar entonces él es mayor que el right point.

Punto posición x hacemos el move bright falls porque nos estamos moviendo a la izquierda en este caso así como flight es igual a false el carmen de state es igual a post state shooting el shot counter va a ser igual a time.

Between shots eso es en caso de que nos movamos a la izquierda ahora hagamos el els acá abajo copiamos esto tenemos loca ahora en vez de más es menos porque nos movemos al otro lado y en vez de raid tenemos que decir acá si es menor al left position entonces el.

Sprint de posición x muy desigual a trump y en este caso nos estamos moviendo a la derecha lo último que nos falta en este movimiento es poder hacer que el jefe se mueva cuando se mueve la izquierda que se filipe en este caso no podemos hacer flip x porque estamos con el fire point.

Acá si hacemos flip x el fair point se va a ver mal así que no vamos a moverlo ashley así va a ser utilizando el lockout que acá tenemos el logo es que el del jefe y si lo hago así voy a agarrar al tanque y le voy a mover su escala no está como si lo muevo se puede mover y es exactamente lo que vamos a hacer.

Así que venimos acá y en la escala vamos a decir con el jefe se están moviendo hacia la izquierda vamos a decir de voz punto locales creo es igual al vector 3 abrimos paréntesis 1 f 1 f 1 f ahora agregó las f porque son flows lo que trabajamos acá 1 f 1 f 1 f ese es el.

Vector 3 tenemos que decir new vector 3 cuando asignamos una nueva posición este lector 3 hace referencia a la escala de acá entonces uno uno uno va a moverse a la izquierda como se está viendo acá pero cuando no entonces cuando nos movemos por este lado así que aquí si nos movemos a la derecha este va a ser negativo y así vamos a.

Poder movernos a la derecha clickeando esta escala a negativo uno se va a ver así ahora otra manera de poder decir el vector 111 es decir punto one y ya está vamos ahora a conectar las animaciones de nuestro jefe si vamos acá tenemos diferentes animaciones que tenemos que.

Conectar la conector de la conexión de hit y move entonces vámonos acá y acá el vector 3 nota que dije ni un vector 3 cuando pone el vector tres puntos one no tienes que declarar new ahora conectemos las animaciones así que para conectar las animaciones tenemos en nuestros parámetros acá hit y.

Stop moving vamos a decir acá en take it le pasamos ánimo punto 7 vamos a abrir paréntesis y vamos a decir hit cuando el enemigo se golpea por fake hits y ahora vamos a crear una función acá vamos a hacer private void.

Vamos a llamar en bus mente y esto lo vamos a llamar cuando vayamos a parar el movimiento vamos a decir que vent state es igual a vos states punto shooting para hacer la transferencia al shooting nota que estamos copiando esto acá vamos a copiar su counter.

También acá nos falta el punto y coma y finalmente vamos a decir ánimo punto en este caso es también un trigo así que 7 clic iba a ser stop moving que es como se llama este thriller estoy muy inc ahora tenemos que solamente llamar a movement en vez de decir esto de acá y.

No está carga también estamos haciendo lo vamos a vayamos acá vemos la play al juego ubiquémonos en la escena y veamos a nuestro jefe vamos al animator voy a mover el nitro por acá y ahora tenemos el egipto vamos a golpearnos.

Se golpea vamos ahora a crear las balas que nuestro jefe va a disparar así que primero vamos a ubicarnos en la escena vámonos a nuestros assets y acá en tu deformaron graphics en nuestro voz en nuestros enemies buscan el voz acá tenemos estos dos cuadros que son las balas así que vamos.

A jalar está acá creemos la animación vamos a dar clic animation y nuestros assets animations vamos a decirles vuleta y el tanque bullet va a tener esta de aquí y vamos a pasarle a este cuadro y vamos a ponerle este cuadro así esta es la bala de nuestro jefe.

Ahora vamos a darle un líder así que vamos a sir box con libertad y lo hacemos un poco más chiquito ahí tenemos nuestro colíder listo hacemos trigger vamos a nuestros scripts hagamos create script y vamos a decir vos vos bullet acá vamos a jalar este script y lo vamos a asignar a la bala abramos ahora el libreto y hagamos que.

La bala se mueva con el libreto primero no tenemos que darle una velocidad a la bala así que vamos a decir pavlik loud speed este es la velocidad de nuestra bala ahora en el update function vamos a hacer que la bala se mueve lo vamos a decir transform punto posición vamos a.

Ir agregando velocidad así que más igual new vector 3 new vector 3 y vamos a pasarle en el eje x el mainz speed speed por transform punto local es que el x porque recuerda que estamos también con la escala cuando el robot dispara podemos estar en escala 1 – 1.

Así que acorde a la escala tenemos que ajustar acá punto x por time punto de alta time ese es el movimiento en x vamos ahora decir en el vector 30 el ie y 0 el zeta ahora cuando la bala nos golpea vamos a decir contra y vender dos de colisión vamos a cambiarlo por holder y si if there.

Punto tag es igual a player vamos a decir player el controller instance de metros y que player health and shoulders punto instance punto deuda merckx nuestra función para hacer daño y ahora una vez que la bala no golpeado vamos a destrozar la bala destroy game project listo con esto la bala va a moverse y va.

A golpearnos y hacernos daño ahora vamos a hacer que nuestro jefe pueda disparar así que ya tenemos la bala creada vamos a nuestros assets y vamos a los brif apps vamos a jalar la bala a los pge y ahora esta bala vamos a borrar la de la escena vamos al tanque albos but lak y vamos a asignar.

La bala al bullet ahora vayamos a nuestro boston controller para empezar a trabajar la lógica de disparo acá en shooting entonces vamos a decir shot counter – igual a time punto delta time para empezar el conteo de cuánto tiempo tenemos que disparar y shot y luego hacemos.

If not counter es menor o igual a cero entonces counter es menor o igual a cero vamos a decir que yo counter es igual a time between shot para resetear el tiempo entre shots vamos a instancia de una nueva bala porque vamos a disparar así que vamos a hacer bar new bullet y esta vez estamos.

Creando una nueva variable porque recuerda que la bala tenemos que instancia en la escala 1 o escala menos 1 y es así como vamos a hacerlo instance gheit abrimos paréntesis le decimos bullet porque el bucle de lo que queremos instancia le vamos a pasar el fire point que es el transform que tenemos y vamos.

A decir punto posición dentro de ese fire point y de nuevo firewind punto rotation con esto tenemos la bala que instancia mos y ahora para poder hacer que la bala se instancia en la escala correcta vamos a decir new bullet punto transform punto lo cause que o es igual a davos lo cause que o porque el boss puede estar en.

Menos 1 y si está si la bala tiene que aparecer en otra escala listo con esto el boss va a poder disparar las balas en ambas escalas si estás corriendo hacia la izquierda o hacia la derecha ahora vamos a probar que esté funcionando lo que hemos hecho cuando declaramos la bala acá en el pri fap recuerda el speed tienes que darle un.

Bullet speed así que puedes ir 10 vamos a darle play y ahí se están saliendo las balas para el jefe y listo vamos ahora a hacer para que nuestro tanque puedan recibir daño así que el jefe ya puede disparar nos ahora nosotros vamos a hacer para que el.

Jugador pueda golpear la cabeza del jefe y así hacerle daño para eso tenemos que primero crear nuestro hit box donde vamos a golpear al jefe así que para crear nuestro heat box vámonos acá donde está el tanque vamos a hacer un dj move directo aquí y vamos a agregar un colíder 2 de ahora este cola y de él se va a llamar heat box.

Y vamos a editarlo así que pongámonos acá y movamos esto a la cabeza del jefe para que si lo golpeamos en la cabeza le hacemos daño ahora hagamos este hit box trigger vayamos a nuestros assets scripts y hagamos un libreto si saif script que sea voz tank jlp box.

Ahora asignemos ese libreto el hit box y hagamos el código para hacerle daño abramos el boston heat box y ahora primero vamos a agarrar el controlador de nuestro jefe que es el botón controller vamos a decir public voz tan controller y lo vamos a llamar vox controller.

Queremos y ahora que tenemos una referencia de nuestro box controller podemos continuar ahora en el update vamos a decir ahora creemos que cuando nosotros golpeamos este hit box algo ocurra así que vamos a primero decir o vender aunque entre cambiamos colisión por ader y vamos a decir y poder.

Punto tag es igual a player y nuestro play controller punto instance punto transform punto posición punto y es mayor que transforma posición punto y del tanque en caso de que esto ocurra entonces vamos a hacer que el jefe reciba un daño.

Así que tenemos que acceder al boss controller que es donde hicimos la función de taking it y hacemos voz control de punto take it llamamos a esa función para hacerle daño vamos a hacer un feedback del jefe del jugador así que puede control del punto instance punto bones para que nuestro jugador salt salte.

Cuando golpea y luego game objeto punto set active apagamos el objeto que golpeamos guardemos esto ahora cuando golpeamos entonces a nuestro jefe tenemos dicho acá que tenemos que ser nosotros el jugador y tenemos que estar encima del jugador del enemigo del jefe para poder hacer daño.

De ser así esto ocurre apagamos el hit box que golpeamos para no estar golpeando a cada rato al jefe pero ahora que se ha apagado queremos reactivar lo así que vámonos a nuestro voz tank controller y acá arriba vamos a hacer una referencia a nuestro hit box así que public game object hit box y ahora acá abajo cuando terminamos de.

Movernos vamos a decir que egipto c's punto set active es true probemos hasta ahora lo que hemos hecho vamos a darle a play entonces asignemos primero el hit box acá en el hit box decimos vamos a darle play tenemos a nuestro bosque dispara venimos acá y el hit box tenemos que decir cuál es.

El boss controller así que le pasamos el box control de clic de nuevo probemos ahí está golpeamos al jefe se mueve volvamos para acá lo golpeamos de nuevo ahí está muy bien vamos ahora a crear una mina que el jefe va a dejar cuando camina entonces para crear esta mina vamos a del tour y.

Plataforma vámonos a nuestros graphics el boss y puedes ver que acá tenemos una mina vamos a ponerla por aquí entonces vamos ahora a crear una animación para nuestra mina vamos a darle a cada create y en aceptamos animations en el bolso no sé decir mine acá tenemos la primera mina vamos a.

Poner para que pasen 10 milisegundos y luego de nuevo play está tenemos la mina vamos a seleccionar nuestra mina y agreguemos un box colíder que sea un truco player y el tamaño hagámoslo traiga un poco más grande ahí está bien ahora démosle un libreto a esta mina.

Entonces voy a irme a nuestros scripts clic derecho create script y voy a decir vos by me enter vamos a abrir esto entonces abrimos boston main y acá vamos a pasarle primero un game object que va a ser la explosión de la mina cuando la.

Golpeamos ya hemos creado esa explosión así que muy sencillo sólo la jalamos ahí game abyecto va a ser explosión la misma explosión de cuando morimos o algo así podemos poner esa explosión ahora construir entre cuando tocamos la mina que ocurre con troy de entre tutti vamos a decir other y cuando el jugador es el que toca vamos a poner.

Lauder punto tag es igual a player entonces en este caso vamos a destruir el objeto inma project y vamos a distanciar la explosión justo no se encuentra la mina así que instancia de explosión como transform punto position y transforman rotation.

Perfecto finalmente player health control de play-off controller tenemos que hacer daño así que instantes punto deuda metro y con esto tenemos la lógica para que nuestra mina explota y nos haga daño ahora que tenemos estas minas las minas podemos borrar las de acá vamos a hacerle un pri fav en spray fams vamos a.

Probarla primero vamos a darle play y acá venimos tenemos que golpear la mina no olvides pasarle el libreto de la mina vamos a cada scripts 2 tank main entonces post and mine tenemos que asignar la explosión rifas tenemos acá la explosión entonces busca la explosión perfecta casta.

Vamos a poner el defecto yo creo que colecte effect cualquiera explosión sea mejor la ponemos ahí y así explota la mina perfecto ahora tenemos que hacer que nuestro enemigo vote estas minas conforme está corriendo así que primero convertimos la mina en una rifa vamos a borrar la de acá y ahora acá en nuestro boston controller.

Vámonos del bosque control de nuestras variables arriba vamos a hacer referencia a nuestra mina así que acá en mi mente mientras nos movemos vamos a decir public game object main que es la mina que vamos a votar luego el transform del lugar donde queremos botar la mina así que transforma mein point el punto de donde salen las.

Minas y queremos ahora un conteo en el tiempo entre poner minas igual que como es el conteo entre disparar vamos a poner public cloud time between minds también mainz y private cloud main counter lo primero que haremos será resetear el main counter así que cuando estamos en.

Heart nos golpeamos acá y empezamos a hacer movie nos vamos a decir main counter es igual a cero ahora en la sección de movimiento acá en el moving vamos a al final del movimiento antes del break que vamos a decir main counter vamos a empezar el conteo así que menos igual time punto delta time.

Y luego vamos a decir if mein counter es menor o igual a cero entonces main counter menor o igual a cero vamos a abrir acá brackets y voy a decir main counter es igual a time between minds tenemos nuestro conteo y ahora queremos instancias las minas.

Así que instan siete almas paréntesis main coma y la posición así que vamos a usar el main point para eso punto position mein point rotation wine point station bien ahora vamos a asignar todo lo que hemos.

Hecho vamos a nuestro box vámonos a nuestro tanque primero tenemos acá el tanque vamos a moverlo vamos al tanque un poco la izquierda ahora queremos asignar de el tanque su fire point hemos asignado el fair point vamos ahora a asignar el punto de las minds main point ahora como sabemos cuál es el main point.

Exacto vamos a moverlo por acá y ahora vamos a encontrar ese match point exacto para botar las minas bien pero primero aún no salvos al tanque acá y vamos a asignar esto la mina vamos a asignar esta mina el main pointer vamos a asignar el main point time between main vamos a decir cada dos segundos y ahora démosle a play.

Fijémonos acá entonces vamos a hacerle primero daño al jefe lo golpeamos y ahí bota las minas entonces voy a prestar atención de nuevo donde la botó ahí está entonces fijémonos donde la bota creo que está bien en ese punto voy a ponerle un poco más atrás y un.

Poco más abajo de nuevo veamos está ahí está bota la mina y vamos dando más minas recuerda que podemos cambiar el tiempo en que las minas votan puedes también cambiar la longitud del área entonces acá both bato cada se está moviendo muy rápido del enemigo así que speed va a ser de de 6 por ejemplo ahora el tanque.

Se va a mover más lento deberían poner más minas lo golpeamos deja una mina deja otra mina ahí está entonces es cuestión de que juegues con los tiempos y también puedes cambiar la posición exacta donde deja la mina para que no atraviese ahí la pared entonces el main point podría ponerlo incluso debajo.

Veamos cómo se ve con el main point debajo ahí está ahora si las minas no se quedan atrapadas en el mapa muy bien ahora vamos a remover las minas que el jefe pone entre las veces que lo golpeamos porque no queremos que cuando el jefe ponga muchas minas de la nada.

Del campo completo está lleno de minas así que para poder hacer esto vamos los primeros a nuestros bombos tank mind entonces dale click a la mina abre el libreto de post tanque main acá primero vamos a crear una función que va a ser la explosión entonces vamos a decir public void exploit y con esto vamos a crear la explosión que solamente.

Tenemos que destruir el game object de instancia la explosión de esta manera ahora de hecho acá vamos a llamar a exploit y está ahora podemos hacer esta explosión desde cualquier otro lado entonces vámonos ahora a nuestro boston controller queremos eliminar nuestras minas cuando golpeamos al jefe para poder así que no llenar el campo con.

Minas así que debajo de este hit vamos a decir posternak main porque queremos llamar a todas las minas posternak main abrimos una matriz y decimos minds es igual y para encontrar a todas las minas vamos a encontrar find object type y estamos buscando todos los objetos que tienen post en main à dentro de ellos entonces si el objeto tiene ese.

Componente vamos a usarlo y que vamos a hacer of mines punto link es mayor que cero sea si hay minas en el campo entonces vamos a four ay no vamos a for it vamos a decir a cabos tank mind and mine cada mina que encontramos in minds hacemos una integración en nuestra matriz vamos a decir found mine punto exploit para explotar todas las minas y.

Hacer un efecto de que están explotando y así no van a desaparecer de la nada ahora cuando terminamos el monumento para hacer que nuestro jefe sea más difícil podemos poner a casero efe y se va a ver mucho mejor cuando dispara al final de golpearlo vamos ahora a darle vida al jefe para poder hacerle daño así que vamos al.

Poste a controlar vámonos a las variables de arriba y vamos a hacer acá referencia a nuestro health así que después de red vamos a hacer un header y vamos a decir heart health bien ahora primero vamos a crear un entero que va a ser la vida va a ser public in health y la vida del jefe vamos a decir.

5 luego explosión cada vez que golpeamos el jefe queremos que pago de un feedback cuando lo golpeamos así que public game over explosión punto y coma ahora queremos decir cuando hemos vencido el jefe porque queremos aparecer en la meta cuando vencemos al jefe y.

Queremos que aparezcan algunos bloques nuevos para poder salir del pit o sea el hueco en el que nos encontramos peleando con el jefe así que digamos driver bull driver wood es difícil una vez que hemos vencido el jefe entonces cada vez que nos golpeamos acá cuando estamos take it.

Después de éste explotó vamos a decir health – – para poder reducir la vida ahora conocemos eso mucho tiempo o sea y él es igual o menor que cero menor o igual a cero entonces es difícil es igual a true ahora vayamos arriba a nuestro área donde estamos trabajando la lógica de heart y el hard counter.

Si estamos difícil entonces if it's defeated vamos a decir que de voz punto como project punto set active false vamos a poner shows y luego vamos a distanciar así que instant site explosión como vos punto posición y rotation.

Ahora una vez que logramos matar al jefe vamos a crear un nuevo estado acá que sea el estado de ender que es el estado cuando hemos matado el jefe y ahora hagamos la transición acá cuando morimos entonces art si hemos muerto vamos a decir que rente state vos states punto vender algo que queremos hacer es que el jefe.

Se ponga difícil conforme vamos golpeándolo así que cuando lo vamos golpeando queremos que las minas las ponga más rápido y queremos que los disparos nos haga más rápido así que dentro de acá del health vamos a decir private wood vamos a hacer un flow y vamos a decir.

Shot speed up y también queremos main speed up la velocidad en la que ponemos minas y disparamos nuestras balas entonces para que el número de las minas que ponemos y disparamos se haga más rápido cuando hacemos a cada año en el feil pero si no es difícil entonces se los vamos a decir.

Y time between shots es / e igual a shot speed up y lo mismo vamos a hacer con time between minds es dividido e igual a main despidos esto es lo que va a hacer es que vámonos acá y declaremos las variables del voz acá clic tenemos que decir el explosión cuales vamos a rifar voz de nuevo acá.

Tenemos nuestro explosión nuestro time between shots es de 1.5 entonces nuestro speed up los shots deberían mostrarse acá creo que lo hice private entonces venimos acá arriba hagámoslo pavlik vamos a decir que el speed va a ser de 1.2 así que cuando dividamos estamos.

Dividiendo por 1.2 así que estamos multiplicando lo ahora guardemos hagámosle daño el jefe muy bien así la división hace que el tiempo vaya disminuyendo si lo tienes dos segundos lentamente va a ir disminuyendo y el time between shot va a terminar siendo un segundo y va a ser más difícil porque el tiempo te disparo.

El más rápido igual el tiempo en el que el jefe pone las minas ahora la animación de cuando el jefe golpea acá el tatanka animation tenemos quiero agarrar esta animación y moverla vamos a poner control de control ce y luego nos movemos a 30 segundos y control de quiero ver cómo se ve el juego cuando golpeamos con una animación.

De 30 segundos de medio segundo entonces ahora nuestro jefe se ve mejor cuando lo hacemos más daño muy bien vamos a crear ahora una plataforma para que podamos salir de la pelea contra el jefe una vez que ganamos vamos a crear aquí en pijama project y vamos a decir win platforms agreguemos un pack de one.

Way platform saca entonces tenemos one way platform lo ponemos adentro del win platform voy a agregar otro ahí está ahora voy a desactivar esto vámonos al post and control there así que boston control there y aquí en el health tenemos el game object y explosión vamos a hacer otro game freak que va a ser el wing platform ahora.

Vamos a aprender el win platform cuando vencemos al jefe así que vámonos al art y cuando el jefe acá muere vamos a decir win platform punto set active es igual a true ahora una última cosa va a saber que las balas podemos saltar encima de las balas cuando golpeamos y no queremos eso entonces aquí a veces podemos saltar encima de la bala y no está ahí no.

Recibimos daño ahí tampoco así que para evitar eso vamos a agarrar a nuestro jugador vamos al nivel para que dale a player y acá el léger del player vamos a abrir caja box vamos a poner el red box en su propio léger que sea box y vamos a crear otra leyes para poder designar las balas así que voy.

Let's los bullets vamos a los assets seleccionamos nuestros grifos así que por favor si acá tenemos las balas vamos a decir que estas balas son bullets y nuestro hard box vamos a decir que es red box recuerda que si haces esto tienes que el pri fuck the player tenemos que dar la cara level pack of rights apply y así aplicamos los o.

Bright ahora que están en el box vámonos a nuestro project settings y en physics acá abajo puedes calcular puedes decir con qué quieres que se hagan las colisiones entonces si decimos acá bullets con hard box entonces ya no va a ocurrir y luego vamos a decir red box está bullets sin colisión con el box eso significa ahora.

Que cuando venimos acá e intentamos romper las balas ya no hay colisión así que ya no hay forma de escapar de las balas si es que no sabemos saltar vamos ahora a agregar audio a la pelea con el jefe así que vámonos a nuestro audio manager vamos al inspector tenemos que agregar a nuestra música la música del jefe así que acá en music.

Vamos primero a nuestro proyecto assets audio acá vamos a buscar music tenemos voz button hallemos loca saquemos el play on wake y pongámoslo en loop el output tenemos que decir que pertenece la música y hallemos lo donde está la música podemos decir así vos bato los álamos a dónde está la música.

Y ahora entremos a nuestro audio manager acá queremos hacer referencia a nuestros votos para todos así que acá vamos a decir vamos music como vos music y ahora queremos crear dos funciones una para vos music play voz music store así que público.

Boyd playbook music y acá vamos a primero decir virgen stop para parar la música y luego que se para la música vamos a decir vos music play ahora hagamos lo mismo para stop así que stop post music vamos a decir post music stop.

Y de lo contrario acá gameplay vamos a decir mi gameplay y esto no es play music y esto es stop boss music queremos ahora que tenemos esto crear una manera de poder activar la pelea contra el jefe porque no queremos que la pelea de la nada empiece siempre cuando corremos la escena queremos nosotros.

Caer acá y que el boss aparezca y ahí empieza la pelea así que para hacer eso vamos a agarrar a voz va todo y vamos a desactivarlo vamos a crear acá en ticket y mapfre aquí vamos a decir voz activator el boss activator vamos a ponerle a un box colíder y este box colíder lo vamos a mover para que esté acá.

Entonces cuando caemos a esta zona la pelea empieza vamos a hacerlo un trigo y ahora agreguemos un libreto para hacer la pelea va a ser el bozar activator crist rei de javascript vos activator vamos a jalar el voz activator acá lo puse creo que con dos erres pero no importa vamos a abrirlo y ahora queremos hacer referencia al.

Gameplay de la pelea con el jefe que es lo que acabo de apagar así que audi q7 la voz button hacemos referencia a este objeto de la pelea que es lo que vamos a aprender cuando caemos ahí y luego acá vamos a borrar todo esto hoy vamos a decir and driver enter 2 d.

Cuando las colisiones con ader vamos a decir si el jugador es igual a player entonces vamos a decir la voz punto set active es igual a true ahora queremos desactivar el activator porque no queremos que se esté haciendo conflicto con el juego así que false una vez que ya lo activamos y aquí empezamos.

Nuestra música así que audio manager punto instance punto play voz music ahora cuando el jefe muere vámonos a nuestro stand controller cuando el jefe muere entonces en heart acá cuando muere vamos a decir audio manager punto instance punto stop music muy bien entonces ahora vámonos al voz activator vamos a pasarle el voz bato.

Vámonos al voz va por el wing platform vamos a decir que este es el win platform y finalmente en el audio manager de acá vamos a decir el cual es el boss music así que venimos acá en music box batbold es estar acá vamos a empezar el juego empezó normal acá empieza la pelea.

Creo que voy 3 creo que 4 creo que 5 si lo ven si lo decimos y ya está ofrecen las plataformas y hasta podemos movernos visto ahora te reto que agregues los efectos de sonidos como hemos agregado en todo el juego.

Por último lo último que queremos hacer es cuando vencemos al jefe cuando ponemos acá nuestra empresa vamos a poner el de belén de acá cuando ponemos este el de belén está acá en el de berlín vámonos a nuestro lado para que luego manager el de bolton load en este caso que no sea el nuevo manager vamos a poner víctor y porque voy a crear una.

Escena que sea la escena de victoria para en vez de que te vote de frente a la pantalla de ganar del bus le vamos a ver la pantalla de ganar primero entonces tenemos el de manager vamos a irnos al victory es en esta escena no más así que ahora vamos a crear la escena de victoria vámonos a nuestros assets en since voy a.

Copiar la escena que tenemos de main menú voy a hacer control d y este mail voy a decirle a victory ahora voy a arreglar el nombre ahora voy a abrir este víctor vi ubiquémonos en el canvas en el juego tenemos esto voy a borrar los botones que tenemos de continuo y de play y el botón de kuyt lo voy a cambiar por el botón por el texto.

Que dice main menú ahora en la imagen vamos a cambiarla por otra acá tenemos la imagen de congratulations y ésta puedes agregar texto diciendo lo que quieras por aquí main menú entonces ahora vámonos acá y vamos a crear un nuevo libreto que sea el victory script así que na sets a unos scripts voy a decir víctor y create si.

Sabes script victory en este libreto de victoria y vamos a abrirlo solamente vamos a darle la funcionalidad del main medio así que abrimos el libreto de víctor y y vamos a decir public string y medio y ahora vamos a crear una función que.

Sea viable void y vamos a usar sin manager así que sin manager punto load sin y vamos a cargar el main medium finalmente jalamos el victory a nuestra escena dejando a saca entonces hallemos el victorial canvas podemos borrar este menú de acá el victory cuál es el main menú main menú es el nombre.

De la escena acá en assets sin escena se llama mi menú main menú ahora asignemos el botón así que el botón de kuyt se llama el main medio al candás vamos a asignar la función de main medio entonces en victory vámonos a main menú listo le damos a play ahora cuando tocamos el main menú.

Acá vemos acá ahora si todo se ve muy bien ahora que hemos terminado el juego estamos listos para hacer nuestro build y mostrarle nuestro juego al mundo así que vamos a field build settings y ahora te voy a explicar acá lo que tienes que hacer tenemos primero el buda acá arriba el primer la primera escena que pongas.

Es la escena que se va a cargar cuando el jugador le da a correr tu programa a tu juego entonces mi menú luego queremos agregar todas las otras escenas que hemos creado level selectivos el maine new tenemos el victory thing ahora ahí sale dictó hoy es víctor vich vamos a cambiar el nombre víctor y ahí está esto estamos listos.

Ahora acá en platform tenemos que escoger hacia donde queremos crear nuestro juego si quieres mostrárselo el mundo en internet webgl si quieres subirlo a miniclip cosas y estilo miniclip unas website para tener tu código en vez o si quieres tenerlo como ejecutable venimos a pc mac andino que éste anula un le das a windows escoge tu.

Arquitectura 86 significa 32 bits o sea que el juego va a correr en los procesadores antiguos queremos eso porque 64 bits igual la gente de 64 bits que son todas las máquinas nuevas pueden correr 32 bits así que si quieres que todas las personas puedan correr un juego con 32 bits ahora vamos a player settings acá.

Tenemos que darle el nombre a nuestra compañía entonces el nombre de tu estudio dale el nombre a tu juego y la versión de tu juego ahora el icono de tu juego para agregar el icono tienes que crear una imagen png que sea tu icono entonces yo en mis imágenes tengo acá mis iconos este es un icono.

Que use para un juego que hice en steam entonces salasaca el line en la imagen primero a tu proyecto entonces acá lo tengo en sims voy a jalarle los assets acá lo tengo en los aces le damos clic a esto vamos a inspector le decimos sprite to día en uruguay y sprite mode tienes que asegurarte que estén sprite estudian you why porque cuando recién hoja las va.

A estar en default no quieres eso tienes que ponerle un spray tu día ni why asegúrate que ocurre eso porque si no el background de tu imagen png no se va a ver bien volvamos a project settings default icon vamos a jalar el icono ahora tenemos un icono de nuestro ejecutable acá podemos ver el icono la resolución de tu juego.

Splash image vamos a ver cómo se ve el splash timer inicial preview esto de made with the unit y si no quieres que salga tienes que comprar y unity plus entonces puedes ver acá me juniti está oscuro es porque tengo juniti pero entonces si compras de unity pro puedes decir lacayo indio show y unity lo bono y puedes agregar tus.

Propios logos por ejemplo voy a agregar dos logos voy a venir acá y similar a como hacemos lo de los iconos voy a agregar los ojos así que acá yo tengo dos logos voy a agregar uno y dos voy a ponerle este tres entonces asegúrate que estén igual en sprite igual puedes agregar los logos ahora veamos cómo se va a ver esto está cuando.

Recién abren el juego se va a ver eso ahora el background podemos cambiarle a calentar con light prueba cómo quieres que se vea y ya está ese es el plan eso es básicamente todo puedes jugar con estos otros settings si quieres pero con eso ya estamos listos para darle a view entonces démosle a view.

Y ahora selecciona donde quieres guardar tu juego entonces yo lo que hago es que selecciona en mi desktop y ahora selecciona donde quieres guardar tu juego voy a darle acá clic derecho new folder voy a decirle fox adventures wood y adentro de esto le hace select folder y se empieza a correr el view

Deja un comentario