Unity: NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта - PullRequest
0 голосов
/ 28 января 2019

Я следую учебнику по Unity.Я сталкиваюсь с проблемой при попытке обнаружить столкновение в игре.Это ошибка:

NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта

Это сценарий:

using UnityEngine;

public class Collide : MonoBehaviour
{
    public Movement movement;     // A reference to our PlayerMovement script

    // This function runs when we hit another object.
    // We get information about the collision and call it "collisionInfo".
    void OnCollisionEnter(Collision collisionInfo)
    {
        // We check if the object we collided with has a tag called "Obstacle".
        if (collisionInfo.collider.tag == "Obstacle")
        {
            movement.enabled = false;   // Disable the players movement.
            Debug.Log("Coollision occured");
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Причина в том, что вы не установили поле движения в компоненте Collide.Вы можете добавить его из редактора Unity или добавить следующую строку в функцию запуска Collide:

void Start()
{
    movement = GetComponent<Movement>();
}
0 голосов
/ 29 января 2019

Как я видел на втором изображении, вы не добавили ссылку на движение в поле движения.При этом в скрипте также вы не назначаете ссылку.Попробуйте назначить в редакторе или вы можете создать объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...