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


void Update(){

if (Input.GetMouseButtonDown(0) )

{

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

if (EventSystem.current.IsPointerOverGameObject())

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

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

}

}