El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

Unity práctico: Videojuego 2D de plataformas

Detectar la colisión con el suelo del escenario

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
En este video aprenderemos a usar nuestro componente de colisión para que interactúe con otro elemento. En este caso, aplicaremos la colisión del suelo, así nuestro personaje podrá estar de pie en el escenario.

Transcripción

En este video vamos a ver sobre el tema del salto del personaje, vamos a ver cómo salta nuestro personaje. Para eso, vamos a tener que crear una máscara sobre el terreno o la plataforma en la cual va a saltar. Para eso voy a ir a esta opción, sin importar cual opción escoja, porque solamente es para crearlo. Clic acá en Layer y voy a gregar un Add Layer. En el que esté libre voy a poner 'floor', para detectar el piso. Voy a seleccionar, ahora sí, la plataforma y aquí en Layer, escogeré el piso. La idea es que pueda, conforme vaya agregando más plataformas, tener este 'Layer' para saber que estoy sobre esta plataforma. Sucede que necesitamos saber cuándo el personaje está colisionando con el piso. Una vez hecho esto, voy a grabar y regreso a mi clase en C Sharp. Voy a crear unas variables que me van a ayudar a mí a tener un poco de control dentro de la clase. Lo primero, voy a hacer una variable pública del tipo flotante que va a ser la fuerza: 'forceJump', para ver cuánto de fuerza vamos a aplicar a nuestro salto. Es pública porque vamos a poder modificar este valor dentro de Unity. Por ejemplo, cuando vaya a 'Player', aquí ahora sale 'forceJump'. Además de eso, voy a crear una variable privada del tipo booleano –sin este igual– para saber cuando estoy o no caminando. Voy a crear además una variable que estoy en el suelo, 'isFloor', que cuando empiece el juego siempre voy a estar en el suelo, es 'true'. Además voy a tener que tener una variable –que la voy a poner acá, porque es pública– de testeo de nuestro piso. Entonces, voy a crear una variable del tipo 'Transform', que se va a llamar 'testFloor'. Esta variable va a ser usada como un elemento dentro de Unity. Voy a crear otra variable del tipo 'float', que va a ser el radio con el cual vamos a trabajar, 0.07, más que suficiente. Y una variable más para definir la máscara con la cual estamos trabajando. Como es pública, las voy a organizar acá arriba: 'public LayerMask' y se va a llamar 'maskFloor'. No me he percatado que he escrito acá mal, es 'radio'. Voy a grabar y regresamos a Unity. Se actualizan aquí nuestros parámetros de la clase y lo que voy a hacer es decirle que en la máscara es 'Floor' la que vamos a utilizar, la fuerza la dejaré en 500. Y el 'testFloor' va a ser un nuevo objeto vacío dentro de nuestro personaje y lo vamos a llamar igual, 'testFloor', para saber que es este, y lo vamos a posicionar en la parte que creamos conveniente, que va a ser la parte final, para que detecte el piso junto al 'Player', por ejemplo ahí. Grabo, voy a seleccionar el 'Player' y voy a pasar la referencia aquí. Si le dejan mucho tiempo presionado, obviamente las propiedades del 'Player' desaparecen. Seleccionan el 'Player', hacen clic y rápidamente lo llevan al 'testFloor'. Si se equivocaron, siempre van a poder darle suprimir y se elimina. Otras forma de hacerlo es dándole clic a este botón y seleccionando directamente el 'testFloor'. Hecho esto, volvemos a Unity y vamos a hacer algunas líneas de código. Dentro del 'Update' le diré: si el 'Input' que estoy utilizando va a ser la teclada W, lo que vamos a hacer nosotros es aplicar una fuerza para que se mueva el personaje. ¿A quién se lo aplicamos? Al 'Rigidbody 2D', punto, 'AddForce', abro paréntesis y me pide un vector. Entonces aquí adentro podemos hacer un nuevo 'Vector 2D' que nos pide el eje X y el eje Y. El eje X, le damos 0, y el eje Y aplicamos la fuerza que hemos creado.

Unity práctico: Videojuego 2D de plataformas

Crea un clásico juego de plataformas en 2D, dando a tu personaje todas las características de su desplazamiento, genera enemigos y distintos niveles y pantallas.

2:44 horas (33 Videos)
Actualmente no hay comentarios.
 

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.