Unity 判断点击的是否是UI

沈芏

关注

阅读 80

2022-03-11

核心代码:

private GraphicRaycaster raycaster;
private void Awake ( )
{
    raycaster = FindObjectOfType<GraphicRaycaster>();
}
private void Update ( )
{
    if (Input.GetMouseButtonDown(0) && IsUI())
    {
        Debug.Log("点击了UI");
    }
}
private bool IsUI ( )
{
    PointerEventData data = new PointerEventData( EventSystem.current );
    data.pressPosition = Input.mousePosition;
    data.position = Input.mousePosition;
    List<RaycastResult> raycastResults = new List<RaycastResult>();
    raycaster.Raycast( data, raycastResults );
    return raycastResults.Count > 0;
}

精彩评论(0)

0 0 举报