Unity 获取当前鼠标指向的所有UI

操作UI时,会有获取鼠标下所有UI的操作:

/// <summary>
    /// 获取当前鼠标指向的所有UI物体
    /// </summary>
    /// <returns></returns>
    public List<Transform> Skode_GetCurrentSelect()
    {
        List<Transform> objs = new List<Transform>();
        GraphicRaycaster[] graphicRaycasters = FindObjectsOfType<GraphicRaycaster>();
        PointerEventData eventData = new PointerEventData(EventSystem.current);
        eventData.pressPosition = Input.mousePosition;
        eventData.position = Input.mousePosition;
        List<RaycastResult> list = new List<RaycastResult>();
        foreach (var item in graphicRaycasters)
        {
            item.Raycast(eventData, list);
            if (list.Count > 0)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    objs.Add(list[i].gameObject.transform);
                }
            }
        }
        return objs;
    }

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容