引用
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
核心代碼
public EventSystem eventSystem; //ui 中的 EventSystem 組件
public GraphicRaycaster gRaycaster; //canvas 下的 GraphicRaycaster組件
void OutPut(Vector2 v2)
{
List<RaycastResult> raycasts = new List<RaycastResult>();
PointerEventData ped = new PointerEventData(eventSystem);
ped.position = v2;
gRaycaster.Raycast(ped, raycasts);
foreach (var raycast in raycasts) // 輸出獲取到底UI對(duì)象
{
print(raycast.gameObject.name);
}
}
補(bǔ)充
如果目標(biāo)UI不想被采集到,可以通過取消勾選 Raycast Target 選項(xiàng)