728x90
반응형
2D오브젝트나 3D오브젝트에 마우스를 호버하는 기능이나 클릭해서 어떠한 동작을 구현할 땐
OnMouseDown, Up, Drag, Enter, Exit으로 처리가 가능했다.
하지만 UI는 위의 함수들을 등록해놔도 먹히지 않는다.
UI는 Canvas에 Graphic Raycaster라는 것이 있다.
이것이 UI의 모든 포인터 이벤트를 관리하게 된다.
사용방법은 간단하다.
1. using UnityEngine.EventSystems;
2. 여러가지 인터페이스 중 사용할 것을 고른다. (여러개 동시 사용도 가능하다.)
3. 선언한 인터페이스를 구현한다.
using UnityEngine;
using UnityEngine.EventSystems;
public class UIEventTest : MonoBehaviour
, IPointerClickHandler
, IDragHandler
, IPointerEnterHandler
, IPointerExitHandler
{
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log("Click");
}
public void OnDrag(PointerEventData eventData)
{
Debug.Log("Drag");
}
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log("Enter");
}
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log("Exit");
}
}
728x90
반응형
'프로그래밍 > 유니티' 카테고리의 다른 글
[유니티] 롤 골드그래프를 만들어보자(1) - 점 찍기 (26) | 2021.08.09 |
---|---|
[유니티] Delegate를 이용한 공통 팝업 (0) | 2021.07.06 |
[유니티] 3D 오브젝트 마우스로 회전시키기 (0) | 2020.12.10 |
[유니티] 뷰포리아(Vuforia) SDK를 이용한 오브젝트 트레킹 체크 (0) | 2017.09.28 |
유니티 뷰포리아(Vuforia) SDK를 이용한 AR(증강현실) 구현 (0) | 2017.09.21 |