C#raycast代码不能与Unity一起使用

时间:2014-12-07 17:23:48

标签: c# unity3d raycasting

嗨所以我写了一些代码来创建一个跟随屏幕上鼠标位置的光线投射,我设置了枪,我用枪管等正确地将枪管放下,但我不断收到错误: NullReferenceException:未将对象引用设置为对象的实例。 我只是无法解决问题所在,这是我的代码:

    void Update ()
    {
        if (gun.active) {
                    if (Input.GetButtonDown ("Fire1")) {
                            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                            RaycastHit hit = new RaycastHit ();
                            if (Physics.Raycast (ray, out hit)) {
                                    if (hit.collider.gameObject.name == "barrel") {
                                            Debug.Log ("Hit the Barrel");
                                            Destroy (hit.collider.gameObject);
                                    }
                            }
                    }
            }

    }

1 个答案:

答案 0 :(得分:4)

您的Camera未在编辑器中标记为main相机。

这就是为什么你的代码找不到它,以及它抛出异常的原因。