• Unity: ошибка "NullReferenceException" при взаимодействии с объектом. В чём может быть причина?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    public Rigidbody _rb;
        private FpcParam _fpc;
        public Transform _arm;
    
        private void Start()
        {
            _rb = GameObject.Find("Ball").GetComponent<Rigidbody>();
            _fpc = GameObject.Find("Player").GetComponent<FpcParam>();
        }
    
    public void Throw()
        {
            _rb.AddForce(Camera.main.transform.forward * 800);
            _rb.useGravity = true;
            _rb.isKinematic = false;
            _fpc.take = false;
        }


    Таки инициализация на 10 строке:
    public Transform _arm;


    Объявление переменной это когда вы в коде говорите, что есть такая переменная, что бы в будущем к ней обратиться и работать с ней.

    Инициализация переменно это когда вы даёте переменное первоначальное значение. Для ссылочных типов (Классы и т.д.) стандартное значение это null. Когда вы вызываете конструктор к классу либо передаёте ему ссылку (Через конструктор) такого же типа, ваша переменная уже считается инициализиваронной

    Ссылочные классы так называются, поскольку они не хранят в себе информацию о внутренним состоянии, а ссылаются на фрагмент памяти, где хранится эта информация. Стандартное значение null указывается, что ссылка существует, но она никуда не указывается (Аналогично, когда вы в поисковике переходите по ссылке на страницу, которой не существует).
    Ответ написан
    2 комментария