Ошибка в Uniti

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Ошибка в Uniti

Сообщение e.vyushin 27 май 2020, 16:25

Здраствуйте, не могу понять в чем ошибка в скрипте. NullReferenceException: Object reference not set to an instance of an object Enemy.Update () (at Assets/Skripts/Enemy.cs:70)
При переходе из ошибки в консоли Uniti бросает на эту строчку:
enemies[i].GetComponent().TakeDamage(damage);

Вот весь скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEditorInternal;
using UnityEngine;
using UnityEngine.AI;

public class Enemy : MonoBehaviour
{
private float timeBtwAttack;
public float startTimeBtwAttack;

public float attackRange;
public Transform attackPos;
public LayerMask enemy;
public int damage;

public int health;
public float speed;
private Animator anim;

public GameObject death;

public Transform player;

public float distan;

// Start is called before the first frame update
void Start()
{
anim = GetComponent();
}

// Update is called once per frame
void Update()
{

distan = Vector2.Distance(transform.position, player.position);

if (speed > 0 && distan > 2.1f)
{

anim.SetBool("Run", true);
anim.SetBool("attack", false);

}
if (distan<=2.1f)
{
anim.SetBool("attack",true);
anim.SetBool("Run", false);

if (timeBtwAttack <= 0)
{
if (Input.GetMouseButton(1))
{
anim.SetTrigger("attack");
Collider2D[] enemies = Physics2D.OverlapCircleAll(attackPos.position, attackRange, enemy);
for (int i = 0; i < enemies.Length; i++)
{
enemies[i].GetComponent().TakeDamage(damage);
}
}
timeBtwAttack = startTimeBtwAttack;
}
else
{
timeBtwAttack -= Time.deltaTime;
}

}
e.vyushin
UNец
 
Сообщения: 1
Зарегистрирован: 27 май 2020, 16:16

Re: Ошибка в Uniti

Сообщение Стив 02 июл 2023, 14:55

вообщем, я нашёл в чём ошибка, вероятнее всего на объекте с скриптом нет коллайдера :-bd
Стив
UNец
 
Сообщения: 1
Зарегистрирован: 02 июл 2023, 14:33


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 26