После смерти зомби продолжает двигаться в мою сторону Юнити
Endeavour
Ученик
(113),
на голосовании
1 месяц назад
Всем привет! Я делаю игру на юнити. Столкнулся с проблемой мне нужно чтобы после смерти зомби не двигался в мою сторону, а он двигается. Кто подскажет как это исправить?
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; using UnityEngine.UI;
[RequireComponent (typeof(NavMeshAgent))] public class Zombie : MonoBehaviour { private int HP=100; public Animator animator; public Slider annimyHealhtBar; [SerializeField] Transform target; float distance; NavMeshAgent myAgent; Animator myAnim;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.UI;
[RequireComponent (typeof(NavMeshAgent))]
public class Zombie : MonoBehaviour
{
private int HP=100;
public Animator animator;
public Slider annimyHealhtBar;
[SerializeField] Transform target;
float distance;
NavMeshAgent myAgent;
Animator myAnim;
private void Start()
{
myAnim = GetComponent<Animator>();
myAgent = GetComponent<NavMeshAgent>();
}
private void Update()
{
distance = Vector3.Distance(transform.position, target.transform.position);
if (distance > 10)
{
myAgent.enabled = false;
myAnim.SetBool("Idle", true);
myAnim.SetBool("Run", false);
myAnim.SetBool("Attack", false);
}
if (distance <= 10 & distance > 1.5f)
{
myAgent.enabled = true;
myAgent.SetDestination(target.transform.position);
myAnim.SetBool("Idle", false);
myAnim.SetBool("Run", true);
myAnim.SetBool("Attack", false);
}
if (distance <= 1.5f)
{
myAgent.enabled = false;
myAnim.SetBool("Idle", false);
myAnim.SetBool("Run", false);
myAnim.SetBool("Attack", true);
}
annimyHealhtBar.value = HP;
}
public void TakeDamage(int damageAmount)
{
HP -= damageAmount;
if(HP<=0)
{
animator.SetTrigger("Death");
GetComponent<Collider>().enabled = false;
annimyHealhtBar.gameObject.SetActive(false);
}
else
{
animator.SetTrigger("Damage");
}
}
}