Control de Vida y Muerte de Personaje en Videojuegos

Clase 51 de 53Curso de C# para Videojuegos

Resumen

Detén la vida negativa con un control simple y fiable: añade una condición que, al llegar a 0 puntos de vida, ejecute la muerte del personaje y active el game over. Con dos líneas claras en tu lógica de daño y curación, aseguras una experiencia consistente, con animación de muerte y reinicio de partida.

¿Cómo impedir la vida negativa y finalizar la partida?

En el player controller, localiza el método que gestiona tanto curación como daño: collect health. Ya controla el límite superior de vida, pero faltaba contemplar el caso contrario. Agrega un condicional para cuando los puntos de vida sean menores o iguales a 0 y llama al método de muerte.

¿Dónde añadir la condición en collect health?

Inserta esta comprobación al actualizar los health points tras recibir daño:

if (healthPoints <= 0) {
    die();
}

Con esto, en vez de depender solo de una kill zone, el personaje muere al quedarse sin vida y se lanza todo el flujo de fin de partida.

¿Qué hace el método die con game over?

El método die vuelve a comprobar la puntuación máxima, cambia la animación a muerte y llama al game over del manager. Este, a su vez, hace un set game state, muestra la interface de game over y permite reiniciar la partida. Resultado: final limpio y controlado cuando la vida llega a 0.

¿Cómo validar el cambio con una prueba rápida?

Guarda el script, vuelve al editor y prueba en ejecución. Salta (incluye el supersalto si lo deseas) y fuerza la reducción de vida acelerando al enemigo: de 1.5 a 10. Verás la barra descender hasta 0, la animación de muerte y el fin del juego correctamente.

  • Ejecutar play y observar la barra de vida.
  • Usar el supersalto para moverte con rapidez.
  • Aumentar la velocidad del enemigo: de 1.5 a 10.
  • Esperar a que la vida baje a 0.
  • Confirmar animación de muerte y game over.

¿Qué sigue para pulir y personalizar?

Ahora tienes todo para un acabado profesional. Crea niveles únicos y pantallas personalizadas. Sustituye los placeholders de monedas y puntuación actual en la pantalla de game over por los valores que ya calcula tu lógica de partida. El objetivo: un diseño coherente con tu visión.

  • Diseñar niveles únicos y personalizados.
  • Reemplazar placeholders por datos reales de monedas y puntuación.
  • Ajustar la UI de game over con tu estilo.
  • Exportar y compartir un video del resultado.

Pronto añadirás audio, sonidos y efectos especiales, y cerrarás jugando lo que has construido. ¿Qué mejoras vas a implementar primero? Comparte tus avances y dudas en comentarios.