Contenido del Curso
Juego de Lucha en Unity
Juego de Lucha en Unity
Agregar Partículas
Explicación de los Cambios en el Método Update
El método Update
en el script del enemigo ahora incluye lógica para actualizar el gestor de estados, asegurar que el enemigo mire al jugador y manejar un caso específico donde el enemigo está en un DeathState
. Esta lógica se agregó para evitar que el enemigo continúe mirando al jugador después de haber muerto.
Componentes del Método
Actualización del StateManager
stateManager.UpdateStates(Time.deltaTime)
Esta línea actualiza el gestor de estados, pasando el tiempo transcurrido desde el último fotograma (Time.deltaTime
). Asegura que el estado actual se actualice correctamente en cada fotograma.
Verificación de DeathState
if (stateManager.GetCurrentState() is DeathState) return;
Esta línea verifica si el estado actual es DeathState
.
Si el enemigo está en el DeathState
, el método regresa temprano, evitando cualquier actualización adicional para mirar al jugador u otros comportamientos.
Mirando al Jugador
Las siguientes líneas aseguran que el enemigo siempre mire al jugador:
scale.x = transform.position.x > player.position.x ? -1 : 1;
Esta línea verifica si la posición x del enemigo es mayor que la posición x del jugador:
- Si es verdadero,
scale.x
se establece en-1
, haciendo que el enemigo mire a la izquierda; - Si es falso,
scale.x
se establece en1
, haciendo que el enemigo mire a la derecha.
transform.localScale = scale;
Esta línea aplica la escala actualizada al transform del enemigo, asegurando que mire en la dirección correcta.
Por Qué Lo Hicimos Así
Manejo del Estado de Muerte
Agregar la comprobación para DeathState
asegura que el enemigo no continúe actualizando su comportamiento u orientación después de haber muerto. Esto es crucial para mantener la lógica del juego y prevenir comportamientos inesperados después de que se supone que el enemigo está inactivo.
Lógica Centralizada
Al mover la lógica orientada al jugador al método Update
, centralizamos este comportamiento, reduciendo la redundancia y mejorando el mantenimiento del código.
Asegura que el enemigo siempre mire al jugador independientemente del estado actual, lo que simplifica el código específico del estado.
Explicación del Manejo de la Muerte del Enemigo
La clase DeathState
es un estado específico que maneja el comportamiento del enemigo cuando muere.
Por Qué Lo Hicimos Así
Manejo del Comportamiento de Muerte
La clase DeathState
gestiona específicamente el comportamiento del enemigo cuando muere, asegurando que la animación de muerte se reproduzca y que el estado se marque como terminado.
Integración de Animación
Usar parámetros del animador asegura que la animación de muerte esté correctamente sincronizada con el cambio de estado, proporcionando una experiencia fluida y realista.
Aparición de Partículas al Morir el Enemigo
Este código muestra cómo el enemigo maneja su muerte cuando su salud llega a cero. Transiciona al DeathState
y reproduce un efecto de partículas de muerte.
Desglose del Código
Verificación de Salud
if (health <= 0)
Esta condición verifica si la salud del enemigo ha caído a cero o menos.
Transición a DeathState
stateManager.ChangeState(deathState)
Esta línea transiciona al enemigo al DeathState
usando el StateManager
.
Instanciar Partículas de Muerte
var deathParticle = Instantiate(deathParticles, transform.position, Quaternion.identity)
Esta línea crea una instancia del efecto de partículas de muerte en la posición del enemigo.
deathParticles
es un prefab que contiene el sistema de partículas para el efecto de muerte.
Quaternion.identity
asegura que las partículas no tengan rotación.
Reproducir Partículas de Muerte
deathParticle.Play()
Esta línea reproduce el efecto de partículas instanciado.
Destruir Partículas de Muerte
Destroy(deathParticle.gameObject, 5)
Esta línea programa la destrucción del GameObject
del efecto de partículas después de 5 segundos, asegurando que no persista indefinidamente en el juego.
Por Qué Lo Hicimos Así
Gestión de Estados:
Transicionar al DeathState
asegura que el comportamiento de muerte del enemigo se gestione adecuadamente y que se ejecute cualquier lógica específica para el estado de muerte.
Efectos Visuales: Reproducir un efecto de partículas de muerte proporciona retroalimentación visual al jugador, mejorando la experiencia del juego.
¡Gracias por tus comentarios!