EventSystem.current.IsPointerOverGameObject()方法,作用:判断鼠标是否点击在UI上。
在窗口端进行判断时使用:
//如果按下了鼠标左键并且 鼠标点击的不是UI
if(Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject())
{
// 点击屏幕,发射子弹操作
}
注意:
情景case1:在点击 非UI 时,才执行发射子弹逻辑。
一般情况下,都会放一个背景图UI,需要将背景图UI的Raycast Target的复选框,去掉勾选。不然点在背景图上也是时也会当做是UI点击。
情景case2:鼠标拖拽
不参与拖拽的UI要取消