Unity判断鼠标是否移动到UI上

static int uiLayer = 0;
    public static bool IsPointerOverUIObject()
    {
        if (uiLayer == 0)
        {
            uiLayer = LayerMask.NameToLayer("UI");
        }
        PointerEventData eventData = new PointerEventData(EventSystem.current);
        eventData.position = Input.mousePosition;

        List results = new List();
        EventSystem.current.RaycastAll(eventData, results);
        for (int i = 0; i < results.Count; i++)
        {
            if (results[i].gameObject.layer == uiLayer)
            {
                return true;
            }
        }
        return false;
    }

你可能感兴趣的:(unity,游戏引擎,c#)