OnMouseOver vs OnPointerEnter

baebaeran·2024년 5월 12일
0

Unity_메모장

목록 보기
3/14

OnMouseOver

마우스가 오브젝트 위에 있으면 계속 호출됨

OnMouseEnter

마우스가 오브젝트 위로 올라갔을 때 호출

OnMouseExit

위 두개의 메소드의 반대, 마우스가 오브젝트에서 벗어났을 때 호출

OnPointerEnter

포인터가 오브젝트에 들어왔을 때 호출됩니다.

OnPointerExit

포인터가 오브젝트에서 벗어났을 때 호출

OnMouseOver()와 OnPointerEnter()의 차이

OnMouse() : Collider(콜라이더)를 가진 오브젝트와 반응한다.
OnPointer() : UI 즉, Canvas위에 있는 오브젝트와 반응한다.

사용법

OnMouse() 메소드는

private void OnMouseOver()
    {
        Debug.Log("OnMouseOver");
    }

이런 식으로 바로 함수에 이식하여도 되지만

OnPointer() 메소드는

using UnityEngine.UI;
using UnityEngine.EventSystems;

public class velog : MonoBehaviour, IPointerEnterHandler

public void OnPointerEnter(PointerEventData eventData)
    {
        Debug.Log("OnPointerEnter");
    }

이런 식으로 UI와 EventSystems을 사용한다고 선언해야하고, IPointerEnterHandler를 상속받고, 'PointerEventData eventData'를 받아야지만 사용할 수 있다.


귀찮다고 생각할 수 있지만 상속받는 과정에서 IPointerEnterHandler를 우클릭하면 보이는
'빠른 작업 및 리펙터링' → '인터페이이스 구현'을 클릭 해주면

우리가 편히 쓸 수 있게 알아서 만들어 준다.

profile
보고-배우는-것-들을-기록합니다

0개의 댓글