我的点击事件,鼠标单击事件无法识别正确的游戏对象

时间:2019-11-03 15:04:38

标签: unity3d

我的鼠标单击,轻击事件不能识别正确的游戏对象。...

我真的不知道为什么

我的代码就是我在许多Google搜索中看到的代码

我已经调试。记录了几种变体,只是试图获得我点击的游戏对象

// take_merchandise
// params: none
// functions : temporarily will rely on a click event and grab the merchandise from a cart
// returns: none
private void take_merchandise()
{


    if (Input.GetMouseButtonDown(0))
    {
        Ray tap = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit hit;


        if (Physics.Raycast(tap, out hit))
        {
            Debug.Log(hit.transform.name);
        }

    }
}

我得到了错误的游戏对象

1 个答案:

答案 0 :(得分:1)

Camera.main在层次结构中查找带有标签“ MainCamera”的第一台摄像机。

如果您使用许多相机-这将成为问题。解决方案是要么在脚本中使用其他摄像机,要么将所有需要的摄像机标记为“ MainCamera”,并且一次仅保持一台摄像机处于活动状态-这样脚本可以找到并使用它(例如,如果您切换到Camera2,确保禁用Camera1,以便Unity可以从层次结构中获取正确的摄像机)。