Как исправить чтобы код работал , атака бота и нанесение урона игроку

Рейтинг: -1Ответов: 1Опубликовано: 20.01.2023

The type or namespace name 'Player' could not be found (are you missing a using directive or an assembly reference ?) вылазит ошибка , всё проверял ничего не работает , вот код всё проверил и тег на игрока поставил , не работает. Проверял имя игра переписывал код но не выходит. Как исправить чтобы код работал , атака бота и нанесение урона игроку.

private float timeBtwAttack;
public float startTimeBtwAttack;

public int health;
public float speed;
public GameObject deathEffect;
public int damage;
private float stopTime;
public float startStopTime;
public float normalSpeed;
private Player player;
private Animator anim;

private void Start()
{
    anim = GetComponent<Animator>();
    player = FindObjectOfType<Player>();
    normalSpeed = speed;
}

private void Update()
{
    if(stopTime <= 0)
    {
        speed = normalSpeed;
    }
    else
    {
        speed = 0;
        stopTime -= Time.deltaTime;
    }
    if(health <= 0)
    {
        Destroy(gameObject);
    }
    transform.Translate(Vector2.left * speed * Time.deltaTime);
}
public void TakeDamage(int damage)
{
    Instantiate(deathEffect, transform.position, Quaternion.identity);
    health -= damage;
}
public void OnTriggerStay2D(Collider2D other)
{
    if (other.CompareTag("Player"))
    {
        if(timeBtwAttack <= 0)
        {
            anim.SetTrigger("attack");
        }
        else
        {
            timeBtwAttack -= Time.deltaTime;
        }
    }
}
public void OnEnemyAttack()
{

}

}

Ответы

▲ 2

Скрипт игрока должен называться так как ты его назвал когда объявлял переменную player. То есть если твой код с игроком называется PlayerController или PlayerMovement и т.п., то и в объявлении переменной ты должен написать не:

private Player player

А:

private PlayerMovement player
private PlayerController player