Unity 2D: videojuego de plataformas

Colisionar con el enemigo en Unity

¡Prueba gratis durante 10 días

nuestros 1141 cursos !

Prueba gratis Mostrar modalidades de suscripción
Nuestro personaje ya tiene vida y los enemigos también, ahora agregaremos las colisiones necesarias para que interactúen entre ellos, aunque por ahora programaremos que el personaje pierda una vida al colisionar con el enemigo.

Transcripción

Ahora que nuestro personaje y nuestro enemigo se mueven, pueden colisionar, vamos a hacer que se elimine el enemigo. Para eso necesitaré identificar a cada una de las partes de nuestro enemigo. Por ejemplo, si yo colisiono con el cuerpo, debería morir el personaje, pero si el personaje va por arriba, debería morir el enemigo. Así que para eso vamos a ir dentro del enemigo, y vamos a crear, vamos a darle clic derecho, 2D Object, vamos a crear un "sprite". Este "sprite", que tiene este 'Tenderer', que es para poner la parte visual, se lo vamos a remover. Lo vamos a llamar 'top' y vamos a agregar, en Physics 2D, un Box Collider, que aquí se ve, ligeramente, pero se ve. Voy a llevarlo un poco más arriba para que se pueda ver y lo voy a hacer más angosto y del tamaño más o menos de los ojos del enemigo. Ahora sí, lo vamos a poner acá y lo voy a mover más a la derecha, el área es esta. Seguidamente, voy a duplicar este de acá y a este le voy a poner 'body'. Obviamente, este de aquí va a ser el cuerpo. Lo voy a hacer más a la derecha, para que lo podamos ver y de ahí lo muevo. El eje Y va a ser un poco más ancho, va a estar muy abajo y va a ser un poco más ancho, como comenté, ¿no? Vamos a regresarlo a su sitio, ahí. Voy a darle clic al enemigo. Bueno, estamos viendo todavía el círculo, es que es del enemigo, se lo voy a quitar. Solamente se lo voy a desactivar, para que el ejemplo quede. Estamos viendo esta parte, muy bien, y esta parte de nuestro cuerpo. Ahora vamos a guardar y vamos a ir a nuestro código. Cuando empecemos a colisionar con el enemigo, recordemos que el enemigo está asociada a la clase 'Move', entonces va a haber un conflicto ahí, porque va a querer mover el enemigo cuando no existe. Para eso acá, en 'FixedUpdate' vamos a decirle si la plataforma, punto, 'GameObject' es igual a 'null', o sea, si no existe, le decimos 'return', punto y coma y ya está. Esto va a hacer que si no existe nuestro objeto, sencillamente no sigue buscando ni moviendo nada. Dentro de la cámara también, porque el enemigo va a colisionar con el personaje y si el personaje colisionó mal, pues se va a eliminar al personaje. Entonces le vamos a decir aquí, en este caso es el 'Player', le decimos: si el 'Player' es igual a 'null', 'return'. Con esto estaríamos evitando que fuerce el resto del código. Vamos a ir al 'Collision'. Lo primero que vamos a hacer es preguntarle: si 'obj', punto, 'transform .name' –o sea el nombre del objeto con el cual vamos a colisionar– es 'top', si es la parte superior, le digo que vamos a destruir ¿a 'top'?, ¿a 'obj'? No, sería al padre. Entonces sería 'obj. transform.parent .gameObject'. Y salimos de esta parte del código. Voy a grabar y vamos a ir a Unity. Vamos a probar, aquí, me acerco, salto, voy a saltar y se elimina. Ahora vamos a hacer lo mismo para el cuerpo: 'obj .transform .name', si es igual al cuerpo, le vamos a decir que destruya a nuestro personaje, sería el 'Player'. Grabo y ahora lo que nos va a tocar es revisar que estén bien las colisiones, vamos a ver. Si yo voy de frente, se destruye nuestro personaje. Ahora voy a intentar pisar a nuestro enemigo, listo. Con esto hemos aprendido que podemos eliminar a los enemigos siempre y cuando sepamos el nombre que tienen. Ahora lo único que nos queda es poder agregar a más enemigos, solamente duplicando el objeto y llevándolo, este de aquí, por varias zonas. Esto nos ayudará a tener más enemigos dentro del juego. Por ejemplo, voy a colapsar este de aquí y lo voy a duplicar, Comando+D, y lo voy a llevar la copia un poco más para acá. Y otra copia, un poco más para acá. Le voy a dar Play y vamos a avanzar y ahí va, uno. ¡Ah!, me tocó. Vamos a probarlo de nuevo. Uno, dos, ¡oops!, tres. Y así podemos reutilizar varios de nuestros enemigos a lo largo de nuestro escenario.

Unity 2D: videojuego 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.