1. 程式人生 > >unity獲取滑鼠下有哪些UI物體

unity獲取滑鼠下有哪些UI物體

    public GraphicRaycaster m_CanvasUI;
    public EventSystem eventSystem;

     private void Update()
    {
        if (Input.GetMouseButtonDown(0)) {
            CheckSecondUI(Input.mousePosition);
        }
     }

    /// <summary>
    /// 檢測是否有第二層UI
    /// </summary>
    /// <returns></returns>
public void CheckSecondUI(Vector2 pos) { List<GameObject> objList = new List<GameObject>(); PointerEventData eventData = new PointerEventData(eventSystem); eventData.pressPosition = pos; eventData.position = pos; List<RaycastResult> list = new
List<RaycastResult>(); CanvasUI.Raycast(eventData, list); if (list.Count > 0) { for (int i = 0; i < list.Count; i++) { Debug.Log(list[i].gameObject.name); } } else { Debug.Log("沒有UI"); } }

當滑鼠在螢幕上點選時,會打印出滑鼠下所有的UI物體的名稱