Posted January 14, 2020 by Pablo Suárez
Continuando con el proyecto de la asignatura Fundamentos del Desarrollo de Videojuegos, vamos a implementar un sistema de físicas con el que mover al personaje e interactuar con elementos del entorno.
Lo primero que haremos será configurar un Rigidbody 2D en nuestro personaje en modo Dynamic, así como una caja de colisión que nos permita detectar los diferentes estados del jugador con respecto al escenario. También implementaremos un sistema de salto para el personaje modificando el script "PlayerController" y añadiendo las animaciones pertinentes.
Además de estos pequeños cambios, he realizado varias mejoras en el "PlayerController" de manera que reconozca cuando se encuentra en el suelo y cuando no, para la transición entre animaciones, entre otros.
A partir de aquí he pasado a realizar los objetivos principales de la práctica.
Por un lado, he incluido un pequeño muro de piedra que ejerce como barrera infranqueable. Para que no atendiera a movimientos físicos lo he implementado como objeto estático a través del RigidBody2D y un collider.
Además, he incluido un resorte que hace que los objetos que caigan en él reboten hacia arriba, utilizando el Rigidbody y la velocidad en el eje y del mismo. Para ello he elaborado un pequeño script que activa la animación del resorte mediante un trigger; en la animación he añadido un evento activa la función de salto del personaje, así como otro que termina la animación y para el resorte.
Por último, he añadido una vagoneta de mina y una roca gigante que se comportan de manera física, pudiendo ser movidos hacia delante o hacia detrás del mapa, además de reaccionar a colisiones de otros objetos, como el resorte, talcomo podemos ver con la roca.
Y con esto concluye la segunda parte de este blog sobre el desarrollo de mi prototipo Platformer 2D.
¡¡Hasta la próxima!!