Я создаю простой скрипт с общедоступным c целочисленным именем type и некоторыми коллизиями c. Затем я помещаю этот скрипт на каждый куб разных цветов. У каждого цветового куба есть собственное целое число (или тип), чтобы проверить, являются ли они одним цветом, а если нет, то я уничтожаю их обоих. Если они имеют одинаковый тип, то ничего не происходит. Сценарий работает, но выдает мне исключение NullReferenceException: Ссылка на объект не установлена на экземпляр ошибки объекта. Я очень хотел бы знать, почему улучшить мое кодирование. Еще раз эта ошибка не останавливает игру и не ломает, она работает. Я бросил синий куб на красный, и они оба исчезли. Я бросил красный на красный, и они складываются. Это поведение, которое я желаю. Я просто хочу знать, что вызывает эту ошибку, чтобы улучшить мое кодирование. Заранее спасибо !!!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjScript : MonoBehaviour
{
public int type;
private void OnCollisionEnter(Collision collision)
{
int xyz = collision.gameObject.GetComponent<ObjScript>().type; //line that throws error
if (xyz != type) //comparing the two types
{
Destroy(collision.gameObject);
Destroy(gameObject);
}
}
}