YugGO
@YugGO

Почему в моём скрипте выдаёт ошибку на SetBool?

В моём скрипте на анимацию врага выдаёт ошибку! Типа скрипт не видит SetBool, хотя я всё сделал правильно!5c4da2b71adf8349816640.png Я дам скрипт и скрин!
using System.Collections;
using UnityEngine;
using UnityEngine.AI;

public class EnemyController : MonoBehaviour
{
    public NavMeshAgent agent;
    public Animation animator;
    private Transform player;
    private bool attack;

    private void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player").transform;
        StartCoroutine(findPath());
    }

    IEnumerator playerDetect()
    {
        while (true)
        {
            if (player == null)
                break;
            if (Vector3.Distance (transform.position, player.position) < 1f)
            {
                animator.SetBool("attack", true);
                player.SendMessage("damege");
            }
            yield return new WaitForSeconds (.3f);
        }
    }

    IEnumerator findPath()
    {
        while (true)
        {
            if (player != null)
            {
                agent.SetDestination(player.position);
                yield return new WaitForSeconds(2f);
            }
            else break;
        }
    }

    private void Update()
    {
        
    }

}
  • Вопрос задан
  • 678 просмотров
Решения вопроса 1
@p4p
Код не рабочий просто, видно ты не понимаешь что делаешь. У тебя public Animation animator; хотя должно быть public Animator animator; если ты хочешь сослаться на компонент Animator. Притом этот самый компонент нужно получить в Start и только после этого вызывать animator.SetBool("attack", true)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы