TEMA 9 SISTEMA DE COMBATE (continuación)

Sin valoraciones

TEMA 9 SISTEMA DE COMBATE (continuación)

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.

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

TEMA 9 SISTEMA DE COMBATE (continuación)

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 (continuación)

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

TEMA 9 SISTEMA DE COMBATE (continuación)

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

TEMA 9 SISTEMA DE COMBATE (continuación)

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 (continuación)

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 (continuación)

Luego tenemos Combate ganado y Combate perdido:

TEMA 9 SISTEMA DE COMBATE (continuación)

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

TEMA 9 SISTEMA DE COMBATE (continuación)

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

TEMA 9 SISTEMA DE COMBATE (continuación)

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

TEMA 9 SISTEMA DE COMBATE (continuación)

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 (continuación)

Una vez abierto el CombatMenu añadiremos el componente CombatUI Juego

TEMA 9 SISTEMA DE COMBATE (continuación)

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 componentes desde el desplegable de Canvas>CombatMenu dentro de nuestra ventana de Jerarquía

TEMA 9 SISTEMA DE COMBATE (continuación)

TEMA 9 SISTEMA DE COMBATE (continuación)

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 (continuación)

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

Juego

TEMA 9 SISTEMA DE COMBATE (continuación)

TEMA 9 SISTEMA DE COMBATE (continuación)

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

TEMA 9 SISTEMA DE COMBATE (continuación)

 

 

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