TEMA 9 SISTEMA DE COMBATE (continuación)

Sin valoraciones

TEMA 9 SISTEMA DE COMBATE

Las siguientes líneas de código vamos a guardar la petición que nos hacen que nos va a llegar a través del canal de eventos de CombatRequest la guardaremos porque ahí hay mucha información que nos hace falta, vamos a guardar también el currentEnemy porque irá cambiando según vayamos dandole a siguiente, siguiente y el GameObject que es el enemigo puesto en la escena.

TEMA 9 SISTEMA DE COMBATE

Aquí se guardaran los métodos para combate siguiente y resetear combate

TEMA 9 SISTEMA DE COMBATE

En el SetupCombat guardamos la request que nos llega, reseteamos el HP del player al máximo. Nos va a llegar el evento desde el sceneInitializer entonces reseteara lo que es el player al máximo. Situará al player en su posición y empezará el combate

TEMA 9 SISTEMA DE COMBATE

El NextCombat lo que hará es que empiece el nivel en 1 y luego empezar el combate

TEMA 9 SISTEMA DE COMBATE

El Reset Combat reseteara el nivel en 1 y dejara el oro en 0

TEMA 9 SISTEMA DE COMBATE

OnPlayerAttack es un evento público, porque cuando pulsemos los botones necesitamos saber que el player ha tocado el botón. El manager necesita saber que el player ha atacado. Le estamos diciendo que player ataque a la unidad del enemy. Le va a quitar la vida que sea y si hemos visto que el enemigo está muerto hará que empiece la corrutina de que ha ganado el combate sino es el turno del enemigo

TEMA 9 SISTEMA DE COMBATE

Lo que es el combate en si es el StartCombat. Luego tenemos el turno del player y luego el turno del enemigo:

TEMA 9 SISTEMA DE COMBATE

Luego tenemos Combate ganado y Combate perdido:

TEMA 9 SISTEMA DE COMBATE

Ahora para construir nuestro sistema de combate deberemos arrastrar nuestra escena Gameplay a la ventana de Jerarquía dentro de la escena de Combat

Juego

TEMA 9 SISTEMA DE COMBATE

Creamos un nuevo objeto. Botón derecho>Create>Empty Object y lo llamamos CombatManager

TEMA 9 SISTEMA DE COMBATE

Desde la ventana del inspector le añadimos el componente Combat Manager

TEMA 9 SISTEMA DE COMBATE

Dentro está esperando el CombatUI y para eso desde la ventana de jerarquía buscaremos la opción Canvas>CombatMenu y la abriremos dentro del inspector

TEMA 9 SISTEMA DE COMBATE

Una vez abierto el CombatMenu añadiremos el componente CombatUI

TEMA 9 SISTEMA DE COMBATE

Nos añadirá esta serie de opciones que deberemos configurar para que funcione. Para ello deberemos dejarlo tal como aparece en la imágen de la derecha. Tendremos que buscar los

Juego

TEMA 9 SISTEMA DE COMBATE

componentes desde el desplegable de Canvas>CombatMenu dentro de nuestra ventana de Jerarquía

TEMA 9 SISTEMA DE COMBATE

Y en el CombatManager le tenemos que decir que en la opción del Combat Ui arrastrar el objeto CombatMenu

TEMA 9 SISTEMA DE COMBATE

Ahora si nos venimos a donde tenemos CombatMenu y lo activamos nos encontramos con las siguientes opciones a configurar

TEMA 9 SISTEMA DE COMBATE

TEMA 9 SISTEMA DE COMBATE

Y el otro botón es el de continuar, que ahora configuraremosJuego

TEMA 9 SISTEMA DE COMBATE

 

Desarrollar un sistema de combate en Unity implica la implementación de mecánicas específicas para el combate, como la detección de colisiones, la gestión de la salud del jugador/enemigo, la animación y otros elementos relacionados:

1. Crear el Personaje/Enemigo:

1.1. Modelo 3D/2D: Importa o crea los modelos para tu personaje y enemigo.

2. Implementar la Salud:

2.1. Scripts de Salud:

  • Crea un script para gestionar la salud (HealthController).
  • Controla la cantidad de salud y actualiza la interfaz de usuario (UI).

2.2. Colisiones:

  • Usa colliders para detectar colisiones entre el jugador y los enemigos.

3. Controlar el Combate:

3.1. Scripts de Combate:

  • Crea un script para gestionar las acciones de combate (CombatController).
  • Implementa métodos para atacar y recibir daño.

3.2. Animaciones:

  • Asocia animaciones al combate.
  • Utiliza el sistema de animación de Unity para cambiar entre estados de animación (atacar, recibir daño, etc.).

4. Input del Jugador:

4.1. Entrada de Teclado/Ratón:

  • Implementa scripts para manejar la entrada del jugador (teclas, clics, etc.).
  • Asigna acciones a los controles, como atacar, bloquear, etc.

5. Enemigos:

5.1. IA del Enemigo:

  • Implementa una lógica simple para el comportamiento del enemigo (seguir al jugador, atacar, etc.).
  • Utiliza la inteligencia artificial o patrones de diseño para gestionar la toma de decisiones del enemigo.

6. Interfaz de Usuario (UI):

6.1. Barra de Salud:

  • Crea una barra de salud que refleje el estado actual del jugador/enemigo.

7. Sonido y Efectos Visuales:

7.1. Sonidos:

  • Asocia efectos de sonido a las acciones de combate.

7.2. Partículas y Efectos Visuales:

  • Agrega partículas y efectos visuales para realzar la experiencia de combate.

8. Optimización y Pulido:

8.1. Optimización:

  • Optimiza el código para un rendimiento eficiente.

8.2. Pulido:

  • Añade detalles adicionales, como transiciones suaves entre animaciones, retroalimentación háptica, etc.

9. Pruebas:

9.1. Pruebas de Jugabilidad:

  • Realiza pruebas exhaustivas para garantizar un combate fluido y sin errores.

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER