1.UGUI的射线检测,检测到检测点UI下的所有UI物体。
Unity相关
2.使用该方法,需要用到的条件。
(1)Graphic Raycaster;
(2)Event System;
(3)GraphicRaycaster.Raycast(PointerEventData,List<RaycastResult>);
List<RaycastResult> results是检测到的结果。
private List<RaycastResult> GraphicRaycaster(Vector2 pos)
{
if (BattleUIHotFixManager.Instance != null)
{
_mRaycaster = BattleUIHotFixManager.Instance.MRaycaster; //Graphic Raycaster
_mEventSystem = BattleUIHotFixManager.Instance.MEventSystem;//EventSystem
}
var mPointerEventData = new PointerEventData(_mEventSystem);
mPointerEventData.position = pos;
List<RaycastResult> results = new List<RaycastResult>();
_mRaycaster.Raycast(mPointerEventData, results);
return results;
}
网友评论