如果鼠标按钮已启动但未在此gameObject上

时间:2018-03-06 15:10:37

标签: c# unity3d

我如何检查脚本是否有mouseUp而不是这个gameObject?

void OnMouseUp()

只有当鼠标在gameObject上时才有效,是否还有其他相反功能?

2 个答案:

答案 0 :(得分:3)

Input.GetMouseButtonUp(0)是您正在寻找的。

您需要在每次Update来电时检查一下,但这不是一个事件。

答案 1 :(得分:0)

在鼠标上投射光线并检查与物体的碰撞。 您的对象需要一个对撞机,并使用“yourObjectTag”进行标记,以使该示例正常工作。

Update()
{
    if (Input.GetMouseButtonUp(0))
    {
        RaycastHit hit;

         if (Physics.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector3.forward, out hit))
         {
             if (hit.collider != null && hit.collider.tag != "yourObjectTag")
                // do stuff here
         }
    }
}