Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Ataques del Jugador | Comportamiento del Jugador
Juego de Lucha en Unity
course content

Contenido del Curso

Juego de Lucha en Unity

Juego de Lucha en Unity

1. Sistema de Animación de Unity
2. Comportamiento del Jugador
3. Comportamiento del Enemigo
4. Mejorar el Juego
5. Mejorar el Juego de Flappy Bird

book
Ataques del Jugador

Gizmos

csharp
  • private void OnDrawGizmos(): Declaración de método para el callback OnDrawGizmos, indicando que Unity llamará automáticamente a este método cuando se dibujen Gizmos en la vista de Escena para fines de visualización;

  • Gizmos.DrawLine(...): Este código dibuja una línea utilizando Gizmos. Recibe dos puntos como argumentos para definir la línea;

  • transform.position: Representa la posición actual del GameObject al que está adjunto este script;

  • ((Vector2)transform.position + 4f * Vector2.right * localScale.x): Calcula el segundo punto de la línea. Toma la posición actual del GameObject (transform.position) y le suma un vector que se extiende 4 unidades hacia la derecha (4f * Vector2.right). localScale.x se utiliza para ajustar la longitud de la línea y la dirección según la escala del GameObject en el eje x.

En resumen, este código dibuja una línea en la vista de Escena desde la posición actual del GameObject hasta un punto que está a 4 unidades hacia la derecha, con la longitud y dirección ajustadas según la escala del GameObject en el eje x. Se utilizará para visualizar el alcance de cada ataque del jugador.

Script de Ataque

csharp

Al iniciar el ataque, se llamará a la función StartAttacking, que recibe como parámetro el alcance del ataque. Dado que cada ataque tiene un alcance diferente, comenzará el ataque y configurará el alcance correspondiente.

En la función Update, cuando el jugador está atacando, se creará un RayCast que parte desde el jugador, en la dirección hacia la que está mirando, con una distancia igual al alcance del ataque y filtrando únicamente el enemyLayer.

Si golpeamos a un enemigo, por ahora mostraremos su nombre en la consola, pero en el futuro, recuperaremos su salud y lo atacaremos. Además, tenemos una función EndAttacking, que concluirá nuestro ataque.

Eventos de animación

Añadir eventos

En la ventana de Animación de Unity, puedes añadir eventos a los clips de animación en fotogramas específicos. Haz clic derecho sobre la curva de animación o el fotograma clave para agregar un evento de animación y especificar la función y los parámetros opcionales.

Definición de funciones

Las funciones que serán llamadas por los Eventos de Animación deben ser públicas. El sistema de Eventos de Animación de Unity admite parámetros opcionales de tipo float y string, invocando automáticamente las funciones especificadas durante la reproducción de la animación para sincronizar las animaciones con la lógica del juego y activar diversas acciones.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

Juego de Lucha en Unity

Juego de Lucha en Unity

1. Sistema de Animación de Unity
2. Comportamiento del Jugador
3. Comportamiento del Enemigo
4. Mejorar el Juego
5. Mejorar el Juego de Flappy Bird

book
Ataques del Jugador

Gizmos

csharp
  • private void OnDrawGizmos(): Declaración de método para el callback OnDrawGizmos, indicando que Unity llamará automáticamente a este método cuando se dibujen Gizmos en la vista de Escena para fines de visualización;

  • Gizmos.DrawLine(...): Este código dibuja una línea utilizando Gizmos. Recibe dos puntos como argumentos para definir la línea;

  • transform.position: Representa la posición actual del GameObject al que está adjunto este script;

  • ((Vector2)transform.position + 4f * Vector2.right * localScale.x): Calcula el segundo punto de la línea. Toma la posición actual del GameObject (transform.position) y le suma un vector que se extiende 4 unidades hacia la derecha (4f * Vector2.right). localScale.x se utiliza para ajustar la longitud de la línea y la dirección según la escala del GameObject en el eje x.

En resumen, este código dibuja una línea en la vista de Escena desde la posición actual del GameObject hasta un punto que está a 4 unidades hacia la derecha, con la longitud y dirección ajustadas según la escala del GameObject en el eje x. Se utilizará para visualizar el alcance de cada ataque del jugador.

Script de Ataque

csharp

Al iniciar el ataque, se llamará a la función StartAttacking, que recibe como parámetro el alcance del ataque. Dado que cada ataque tiene un alcance diferente, comenzará el ataque y configurará el alcance correspondiente.

En la función Update, cuando el jugador está atacando, se creará un RayCast que parte desde el jugador, en la dirección hacia la que está mirando, con una distancia igual al alcance del ataque y filtrando únicamente el enemyLayer.

Si golpeamos a un enemigo, por ahora mostraremos su nombre en la consola, pero en el futuro, recuperaremos su salud y lo atacaremos. Además, tenemos una función EndAttacking, que concluirá nuestro ataque.

Eventos de animación

Añadir eventos

En la ventana de Animación de Unity, puedes añadir eventos a los clips de animación en fotogramas específicos. Haz clic derecho sobre la curva de animación o el fotograma clave para agregar un evento de animación y especificar la función y los parámetros opcionales.

Definición de funciones

Las funciones que serán llamadas por los Eventos de Animación deben ser públicas. El sistema de Eventos de Animación de Unity admite parámetros opcionales de tipo float y string, invocando automáticamente las funciones especificadas durante la reproducción de la animación para sincronizar las animaciones con la lógica del juego y activar diversas acciones.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt