[ IPointer Interface ]

유니티에 내장되어있는 클릭,드래그,호버(마우스포인터 올릴때) 등의 이벤트를 처리해주는 아주 편리한 기능!  

 

  [IPointer Interface가 동작이 안돼요!]  

1. Scene에 EventSystem이 있어야함

2. Ui 오브젝트에 Raycast Target 을 체크 해야함

3. 게임오브젝트를 raycast한다면, Collider가 있어야함

4. 게임오브젝트를 raycast한다면, 카메라에 Physics Raycaster 가 있어야함

 

<참고링크> 

https://discussions.unity.com/t/implementing-ipointerclickhandler-interface-does-not-seem-to-work/150103/6

 

[사용방법]

< 지원되는 이벤트 >

https://docs.unity3d.com/kr/2022.1/Manual/SupportedEvents.html

 

지원되는 이벤트 - Unity 매뉴얼

이벤트 시스템은 다수의 이벤트를 지원하며 사용자가 작성한 입력 모듈을 통해 한층 더 효율적으로 커스터마이징할 수 있습니다.

docs.unity3d.com

 

using UnityEngine.EventSystems;

 

1. IPointerClickHandler - OnPointerClick() 

: 포인터를 누르고 뗄 때 호출됩니다.

public class EventSystemTest : MonoBehaviour , IPointerClickHandler 
{
    public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("OnPointerClick");
    }
}

-> Ipointer Interface를 사용할 때에는 항상 그에 맞는 메서드를 오버라이딩 해야함! 

 

2. IPointerEnterHandler - OnPointerEnter() / IPointerExitHandler - OnPointerExit()

: 오브젝트에 포인터가 들어갈 때 / 나올 때 호출됩니다. 

 

3. IPointerDownHandler - OnPointerDown() / IPointerUpHandler - OnPointerUp()

: 포인터가 오브젝트 위에서 눌렸을 때 / 포인터를 뗄 때 호출됩니다.

 

 

4. IBeginDragHandler - OnBeginDrag()

/ IDragHandler - OnDrag()

/ IEndDragHandler - OnEndDrag()

: 드래그가 시작되는 시점에 / 드래그 하는 동안 / 드래그를 끝낸 시점에 대상오브젝트에서 호출됩니다.

 


https://github.com/kimYouChae

 

kimYouChae - Overview

클라이언트 개발자 지망생입니다! . kimYouChae has 6 repositories available. Follow their code on GitHub.

github.com

 

+ Recent posts