在我们做寻路的过程中与npc进行交互的时候经常会出现在点击ui界面的时候 会造成点击穿透(也就是说在点击ui界面的时候我们下方的寻路功能也会被触发,也就是说我们只想点击ui上的button却对其他的点击事件也进行了触发)
解决方案;
添加 UnityEngine.EventSystems;
在我们判断点击的地方加上这样一句代码;
EventSystems.current.IsPointerOverGameObject();
eg:
if (Input.GetMouseButtonDown(0)&&!EventSystem.current.IsPointerOverGameObject())
{
//事件处理
}
ps:IsPointerOverGameObject()
这个函数返回一个bool值 若位于ui上返回true 反之为false;