我正在遵循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");
}
}
}


发布于 2019-01-29 16:17:08
正如我在第二张图片中看到的,您还没有将移动引用添加到移动字段中。同时,在脚本中,您也没有分配引用。尝试在编辑器中赋值,或者您可以创建对象。
发布于 2019-01-29 19:35:31
原因是您尚未在Collide组件中设置移动字段。您可以从Unity编辑器中添加它,或者在Collide的Start函数中添加以下行:
void Start()
{
movement = GetComponent<Movement>();
}https://stackoverflow.com/questions/54408813
复制相似问题