Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Враг не получает урон в unity 3d

Кирилл Будусов Знаток (264), на голосовании 6 месяцев назад
 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class EnemyScript : MonoBehaviour
{


private int HP = 100;
public Animator animator;
public Slider healthBar;

private void Update()
{
healthBar.value = HP;
}

public void TakeDamage(int damageAmount)
{
HP -= damageAmount;

if (HP <= 0)
{
animator.SetTrigger("death");
GetComponent().enabled = false;
healthBar.gameObject.SetActive(false);
}
else
{
animator.SetTrigger("damage");
}
}
}
Голосование за лучший ответ
Error228 Знаток (400) 7 месяцев назад
в каком смысле он не получает урон? поподробней пожалуйста
Alexander.3 Гуру (2732) 7 месяцев назад
Вообще, почему тэк дамаг в энеми классе? Для начала либо подучи ооп, либо если знаешь разбей все по класса. Сделай класс тэйк дамага, который будет принимать первым аргументом энтити, а вторым урон. Создай метод например GetHealth и SetHealth. Сделай по красоте, в тейк дамаг используешь SetHealth(index, GetHealth(index) - dmg) и все, а проверку на смерть уже добавляй в к ласс который будет отвечать за здоровье и смерть, опять же сделай новым классом. Все должно быть в рамках ооп.
Похожие вопросы