[Unity Interface] IPointer Interface (마우스 클릭 / 터치 반응 인터페이스)

반응형
반응형

*개인적인 공부 기록용으로 작성한 글 이기에, 잘못된 내용이 있을 수 있습니다.

#1 IPointer Interface

#2 인터페이스 제공 함수

* IPointerDownHandler - OnPointerDown

* IPointerClickHandler - OnPointerClick

** IPointerClickHandler 를 이용해 만든 NPC 대화 창

* IPointerEnterHandler - OnPointerEnter

* IPointerExitHandler - OnPointerExit

** IPointerEnterHandler , IPointerExitHandler 를 이용해 만든 Main UI

* IPointerUpHandler


#1 IPointer Interface

유니티 엔진은 UnityEngine.EventSystems 네임스페이스 에서, 마우스 클릭이나 터치를 반응하는 인터페이스를 제공합니다.

단, 인터페이스를 유니티에 적용하기 위해서는 UI 오브젝트는 Graphic Raycaster (그래픽 레이케스터) 컴퍼넌트가 존재해야 하며, Raycast Target이 체크된 상태 이어야 하고, 3D/2D 오브젝트는 Collider/Collider2D 컴퍼넌트가 부착된 상태 이어야 합니다.


#2 인터페이스 제공 함수

* IPointerDownHandler - OnPointerDown

- 마우스의 클릭 다운 , 터치 다운 을 감지하는 이벤트 입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class IPointerExample : MonoBehaviour, IPointerDownHandler
{
    public void OnPointerDown(PointerEventData eventData)
    {
        //...
    }
}

 

* IPointerClickHandler - OnPointerClick

- 마우스의 클릭 / 터치 를 감지하는 이벤트 입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class IPointerExample : MonoBehaviour, IPointerClickHandler
{
    public void OnPointerClick(PointerEventData eventData)
    {
        //..
    }
}

 

** IPointerClickHandler 를 이용해 만든 NPC 대화 창

- NPC를 클릭 시 IPointerClickHandler가 감지하여, 대화창을 출력

 

* IPointerEnterHandler - OnPointerEnter

- 마우스의 포인터가 특정 충돌범위 안에 들어올 때 발생하는 이벤트 입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class IPointerExample : MonoBehaviour, IPointerEnterHandler
{
    public void OnPointerEnter(PointerEventData eventData)
    {
        //..
    }
}

 

* IPointerExitHandler - OnPointerExit

- 마우스의 포인터가 특정 충돌범위 밖으로 나갈 때 발생하는 이벤트 입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class IPointerExample : MonoBehaviour, IPointerExitHandler
{
    public void OnPointerExit(PointerEventData eventData)
    {
        //..
    }
}

 

** IPointerEnterHandler , IPointerExitHandler 를 이용해 만든 Main UI

- 마우스가 특정 충돌 영역 (NEW GAME, Continue ... ) 등에 들어가고, 나올 때 마다 버튼의 색깔이 변경됨.

 

* IPointerUpHandler

- 마우스 업 / 터치 업 시 발생하는 이벤트 입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class IPointerExample : MonoBehaviour, IPointerUpHandler
{
    public void OnPointerUp(PointerEventData eventData)
    {
        //..
    }
}

 

반응형

댓글

Designed by JB FACTORY