Leonardo Gutierrez
Genial
Implementa la vida del enemigo y el daño del arma de forma clara y escalable. Con un único script de vida genérico y un ajuste mínimo en el script del arma, los enemigos dejan de morir de un solo golpe y pasan a gestionar vida máxima y vida actual como el protagonista.
¿Cómo configurar la vida del enemigo con un script genérico?
El mismo script de gestión de vida que se usa en el protagonista sirve para el enemigo porque es independiente del rol del objeto. No está ligado a “personaje” o “enemigo”, solo maneja números y su representación en pantalla.
Claves prácticas:
¿Cómo hacer daño con el arma desde el script weapon damage?
El personaje solo hace daño cuando su arma impacta; el enemigo, en cambio, puede dañar con todo su cuerpo. En el script del arma, sustituye la destrucción directa del objeto por una llamada al sistema de vida.
public int damage.Ejemplo mínimo en C#:
public int damage; // Dentro de la lógica de colisión correspondiente collision.gameObject .GetComponent<HealthManager>() .DamageCharacter(damage);
Detalles importantes:
Destroy(collision.gameObject) por la disminución de vida.¿Qué valores y ajustes mejoran la experiencia de juego?
El equilibrio inicial facilita probar el flujo de combate y ajustar sensaciones.
Sugerencias de diseño y colisión:
Buenas prácticas de organización:
damage, DamageCharacter y GetComponent.¿Te gustaría ver ejemplos de configuración de colisiones o animaciones para el impacto? Comenta tus dudas y comparte cómo estás equilibrando daño y vida en tu proyecto.
Poco a poco el juego va tomando forma.
using System.Collections; using System.Collections.Generic; using UnityEngine; public class WeaponDamage : MonoBehaviour { /**** Variables. ****/ public int damage; /**** Metudus. ****/ private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.tag.Equals("Enemy")) { collision.gameObject.GetComponent<HealthManager>().DamageCharacter(damage); } } }
Leonardo Gutierrez
Genial