我正在关注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");
}
}
}
答案 0 :(得分:0)
正如我在第二张图像中所见,您尚未将运动参考添加到运动字段。同时,您在脚本中也没有分配参考。尝试在编辑器上进行分配,或者可以创建对象。
答案 1 :(得分:0)
原因是您尚未在“碰撞”组件中设置运动字段。 您可以从Unity编辑器中添加它,也可以在Collide的Start函数中添加以下行:
void Start()
{
movement = GetComponent<Movement>();
}