小功能丨Unity判断是否单击到了UI

比如用于游戏公告等,点空白处关闭当前页面。

	void Update () {
        //场景中必须有EventSystem
        if (Input.GetMouseButton(0))
        {
            if (EventSystem.current.IsPointerOverGameObject() || GUIUtility.hotControl != 0)
            {
                Debug.Log("单击到了UI");
            }
            else
            {
                Debug.Log("没有单击到UI");
            }
        }
	}

 

配合获取点击到的UI物体,挺方便

var obj = EventSystem.current.currentSelectedGameObject;
Debug.Log(obj .transform.name);

 

你可能感兴趣的:(#,小功能)