Unity:NullReferenceException:对象引用未设置为对象的实例

时间:2019-01-28 19:16:04

标签: unity3d

我正在关注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 :(得分:0)

正如我在第二张图像中所见,您尚未将运动参考添加到运动字段。同时,您在脚本中也没有分配参考。尝试在编辑器上进行分配,或者可以创建对象。

答案 1 :(得分:0)

原因是您尚未在“碰撞”组件中设置运动字段。 您可以从Unity编辑器中添加它,也可以在Collide的Start函数中添加以下行:

void Start()
{
    movement = GetComponent<Movement>();
}