본문 바로가기

[Unity] UI 마우스 클릭 이벤트 감지

·
2020. 2. 19. 13:43
반응형

UI 에서 마우스 클릭 이벤트를 감지하려면 IPointerClickHandler 인터페이스를 구현해야 합니다.
IPointerClickHandler 인터페이스는 OnPointerClick(PointerEventData pointerEventData) 메소드를 포함하고 있습니다.
PointerEventData는 마우스 클릭 시 클릭 버튼, 클릭 횟수, 포인터 위치 등에 대한 정보를 포함하고 있습니다.

MouseClick 스크립트를 생성 한 후 다음과 같은 코드를 작성합니다.

using UnityEngine;
using UnityEngine.EventSystems;

public class MouseClick : MonoBehaviour, IPointerClickHandler
{
    public void OnPointerClick(PointerEventData eventData)
    {
        if(eventData.button == PointerEventData.InputButton.Left)
        {
            Debug.Log("Mouse Click Button : Left");
        }
        else if(eventData.button == PointerEventData.InputButton.Middle)
        {
            Debug.Log("Mouse Click Button : Middle");
        }
        else if(eventData.button == PointerEventData.InputButton.Right)
        {
            Debug.Log("Mouse Click Button : Right");
        }

        Debug.Log("Mouse Position : " + eventData.position);
        Debug.Log("Mouse Click Count : " + eventData.clickCount);
    }
}

스크립트를 작성한 후 MouseClick 스크립트를 이미지에 추가합니다.
MouseClick 추가


이미지를 클릭하면 다음과 같은 결과를 확인할 수 있습니다.
MouseClick 실행결과


IPointerClickHandler 이외에도 IPointerDownHandler, IPointerUpHandler, IBeginDragHandler, IDragHandler, IEndDragHandler 등의 마우스 이벤트 관련 인터페이스가 있습니다.

참고

반응형
블로그 이미지
Frontend Engineer

댓글