Unity 3D: videojuego runner

Generación de la colisión con el PowerUp

¡Prueba gratis durante 10 días

nuestros 1146 cursos !

Prueba gratis Mostrar modalidades de suscripción
Con nuestro PowerUp creado, ahora lo mostraremos dinámicamente en nuestro escenario para que el personaje accione un disparador. Con esto eliminaremos el PowerUp y haremos que, por un tiempo, la velocidad cambie con un multiplicador.

Transcripción

Ahora que ya tenemos nuestro 'powerUp' creado lo que vamos a hacer es programarlo. Sabemos que vamos a colisionar con una esfera hija de todo el 'powerUp' llamado 'PowerUp'. Así que para eso vamos a ir al código y además de eso le hemos dicho que es un 'trigger'. Así que aquí, aprovechando que están todos los 'triggers', vamos a decirle 'else if' y todo lo que esta acá. Si es un 'PowerUp' vamos a pedirle que destruya el objeto. Grabo y vamos a probarlo. Voy a copiar la ubicación de nuestros 'ContentCoins', copiar componente. Al 'ContentPowerUp' le voy a decir: pegar los valores. Entonces quiere decir que están en la misma ubicación. Un rato voy a esconder nuestros 'ContentCoins' y ahí está colisionando, perfecto. Ahora lo que vamos a hacer es crear un multiplicador. Dentro de nuestra clase 'CONFIG' vamos a hacer un 'PLAYER_SPEED _MULTIPLY' que va a ser 2. Entonces vamos a ir acá y le diremos lo siguiente: que cuando haya esta colisión, el multiplicador se incremente. Para eso voy a crear dentro de mi clase 'PlayerController' una variable, se va a llamar 'multiply', del tipo entero, por defecto va a valer 1. Y cuando colisiono a esta variable 'multiply' que sea igual al 'CONFIG. PLAYER_SPEED_MULTIPLY' ¿Con qué objeto? Porque nosotros movemos al personaje y lo que hacemos es darle una velocidad, esta velocidad tiene que ser constante. Ahora bien, lo que voy a hacer es, además de todo esto, multiplicarlo por nuestro 'multiply', que en este momento cuando empiece el juego vale 1. Todo funciona bien, cuando colisiona, nuestro juego –¿dónde estás? aquí– cuando entra el 'trigger' lo elimina y el 'multiply' vale 3 en este caso, vamos a ponerle 3 para que se vea el cambio de velocidad. Así que probamos: bajo y ahí está el cambio de velocidad. OK, vamos a bajarlo a 2, estaba bien, quedó demostrado que avanzas muy rápido. Entonces ya tenemos este valor, lo que tenemos que hacer es que este 'multiply' tenga un tiempo de vida, no vas a ir a toda la velocidad, que viva un par de segundos por lo menos. Para eso vamos a ir al 'PlayerController' y vamos a crear dos parámetros: 'PowerUp', que por defecto está en 'false', y una variable del tipo 'float' para el tiempo del 'PowerUp', que vamos a ponerlo en '100f', valores iniciales. Lo que vamos a hacer es preguntarle en el 'Update'. Antes de eso cuando colisione y el 'multiply' cambie, le vamos a decir que 'PowerUp' es igual a 'true'. Cuando 'PowerUp' sea igual a 'true' dentro del 'Update', le pregunto: si 'PowerUp' existe ¿qué va a pasar? Vamos a modificar el tiempo para darle un tiempo de vida a nuestro 'PowerUp'. Entonces le diré a mi 'timePowerUp' que sea menos, igual al 'Time', punto, 'deltaTime'. Si 'timePowerUp' es menor a 0, vamos a decirle que el 'PowerUp' es igual a falso, para que ya no entre, y además nuestro 'multiply' vuelve a ser 1. Y además de eso, para ver cómo va, voy a hacerle un 'print' a nuestro tiempo. Lo concateno y, si todo está bien, vamos a probarlo. Voy, selecciono un 'PowerUp' y bueno, acá está el tiempo que está avanzando, quiere decir que todavía está a mi velocidad. Vamos a bajarlo, el tiempo va a ser 3. Y otro factor importante: quiero que el contenedor del 'PowerUp', su cuenta sea mayor, vamos a ponerle 20. Ahí está mi 'PowerUp', empieza la velocidad y otra vez regresa a ser lento. ¿Quieren que se note mucho más la velocidad del 'PowerUp'? Ya saben, podemos ir acá y lo multiplicaremos por 3. Le doy play, ejecuto. Agarro el 'PowerUp', agarro una supervelocidad, me choco pero ya mi velocidad ha vuelto. Otra cosa que podríamos hacer es que si chocas, el 'PowerUp' también se pierda. Entonces cuando choques, le voy a decir esto de acá: que el 'PowerUp' está en falso y el 'multiply' es 1. Para eso voy a ir al 'OnCollisionEnter'. Cuando hacemos todo esto de colisión, además del sonido y de la partícula, tu 'PowerUp' se pierde. Y con esto hemos creado un 'PowerUp' interesante para nuestro juego.

Unity 3D: videojuego runner

Crea un tipo de juego muy de moda a día de hoy, un runner en 3D. Emplea el trabajo de tu equipo de diseño y aprende a agregar la física e interacción del personaje con el entorno.

4:29 horas (43 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:9/09/2016

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.