在我們做尋路的過程中與npc進行交互的時候經常會出現在點擊ui界面的時候 會造成點擊穿透(也就是說在點擊ui界面的時候我們下方的尋路功能也會被觸發,也就是說我們只想點擊ui上的button卻對其他的點擊事件也進行了觸發)
解決方案;
添加 UnityEngine.EventSystems;
在我們判斷點擊的地方加上這樣一句代碼;
EventSystems.current.IsPointerOverGameObject();
eg:
if (Input.GetMouseButtonDown(0)&&!EventSystem.current.IsPointerOverGameObject())
{
//事件處理
}
ps:IsPointerOverGameObject()
這個函數返回一個bool值 若位於ui上返回true 反之爲false;