2020年11月9日 星期一

判斷是否點擊在 UI 上 IsPointerOverGameObject() 總是傳回 false

2020.11.09 IsPointerOverGameObject() 在 Editor 上沒有問題,可是無法成功在 iOS 上成功,網路上提供三種方法,我只有第二種成功,就是將 IsPointerOverGameObject() 換成以下 IsPointerOverUIObject() 即可。

private bool IsPointerOverUIObject()
{
PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
return results.Count > 0;
}

沒有留言:

張貼留言