在UGUI中如何防止鼠标点穿UI

2025-03-29 05:46:54
推荐回答(1个)
回答1:

比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法。

view plain copy

  • void Update(){  

  • if (Input.GetMouseButtonDown(0) )  

  • {  

  • Debug.Log(EventSystem.current.gameObject.name);  

  • if (EventSystem.current.IsPointerOverGameObject())  

  • Debug.Log("当前触摸在UI上");  

  • else Debug.Log("当前没有触摸在UI上");  

  • }  

  • }