Unity3d 如何使用相同的鼠标按钮选择另一个游戏对象(第一选择!=null?)?团结一致

Unity3d 如何使用相同的鼠标按钮选择另一个游戏对象(第一选择!=null?)?团结一致,unity3d,click,gameobject,Unity3d,Click,Gameobject,我有一个脚本可以记录我左键点击的第一个游戏对象(工作正常),但我似乎不知道如何通过再次点击同一个鼠标按钮来记录第二个不同的游戏对象。(目前,我的第一次点击在两个插槽中记录了相同的游戏对象,这可能是我忽略的一件容易的事情)。我想保留鼠标右键以重置选择 这是我的剧本: if (Input.GetMouseButtonDown (0)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay (Input.mou

我有一个脚本可以记录我左键点击的第一个游戏对象(工作正常),但我似乎不知道如何通过再次点击同一个鼠标按钮来记录第二个不同的游戏对象。(目前,我的第一次点击在两个插槽中记录了相同的游戏对象,这可能是我忽略的一件容易的事情)。我想保留鼠标右键以重置选择

这是我的剧本:

if (Input.GetMouseButtonDown (0)) {
        RaycastHit hit;
        Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);

        if (Physics.Raycast (ray, out hit)) {
            if (firstClick == null) {
                if (hit.transform != null) { // if object is hit

                    firstClick = (hit.transform.gameObject); // hit object name is stored
                    print (firstClick);
                }
            }
        }

        //click second selection
        if (Physics.Raycast (ray, out hit)) {
            if (firstClick != null && secondClick == null) {
                if (hit.transform != null) { // if object is hit

                    secondClick = (hit.transform.gameObject); // hit object name is stored
                    print (secondClick);
                }
            }
        }
    }

感谢您的帮助。

物理。光线投射
总是返回光线击中的第一个游戏对象。不管你说“我已经知道这件事了。”啊,那太令人失望了。我想我会将其更改为左键单击第一个选择,右键单击第二个选择,然后再次左键重置。下面是任何想要执行类似操作的人的代码:第一个选择与问题中的相同//单击第二个选择if(firstClick!=null&&secondClick==null){if(Input.GetMouseButtonDown(1)){RaycastHit hit;Ray Ray=Camera.main.screenpointroay(Input.mousePosition);if(Physics.Raycast(Ray,out-hit)){if(hit.transform!=null){//如果对象被击中,则第二次点击=(hit.transform.gameObject);//点击对象名称被存储打印(第二次点击);}}如果(firstClick!=null&&secondClick!=null&&Input.GetMouseButtonDown(0)){firstClick=null;//位置现在是reset secondClick=null;//reset}}},则重置部分://reset selections也存在。