在Unity中,EventSystem.lsPointerOverGameObject用于检测鼠标是否在UI界面之上,常用于优先判断UI的点击事件,不去进行场景的点击事件。(当场景的碰撞体和UI的点击范围重合时,只想执行UI事件)
代码模板:
if (EventSystem.current!=null&& EventSystem.current.lsPointerOverGameObject()) {
// 鼠标在UI元素上或覆盖了UI,执行相应操作
}
触摸屏:
if (EventSystem.lsPointerOverGameObject(Input.GetTouch(0).fingerId)) {
// 触摸屏在UI元素上,执行相应操作
}