반응형
IPointer Interface
IPointer Interface를 사용하기 위해 using UnityEngine.EventSystem을 추가해주어야 한다. 마우스 이벤트를 처리하는 인터페이스이다.
using UnityEngine.EventSystems;
1. IPointerEnterHandler
마우스의 커서가 충돌 영역 안으로 들어 올때 호출 되는 콜백 함수
public void OnPointerEnter(EventSystems.PointerEventData eventData);
2. IPointerExitHandler
마우스의 커서가 충돌 영역 밖으로 나갈 때 호출 되는 콜백 함수
public void OnPointerExit(EventSystems.PointerEventData eventData);
Unity에서 IPointerEnterHandler와IPointerExitHandler사용 예시
해당 Cube에 커서를 올리면 색깔이 변하게 만들기
전제 조건
01 Cube에 Collider있는지 확인
02 UI - EventSystem 추가
03 MainCamera에 Physics Raycast추가
public void OnPointerEnter(PointerEventData eventData)
{
GetComponent<MeshRenderer>().material.color = changeColor;
NameText.text = "OnPointerEnter!";
}
public void OnPointerExit(PointerEventData eventData)
{
GetComponent<MeshRenderer>().material.color = color;
NameText.text = "OnPointerExit!";
}
동영상 참조
3. IPointerClickHandler
마우스의 클릭이벤트를 감지하면 실행하는 콜백 함수
public void OnPointerClick(EventSystems.PointerEventData eventData);
Unity에서 IPointerClickHandler사용 예시
IPointerClickHandler을 통해서 간단한 클릭커 게임 만들기
전제조건
01 Cube에 Collider있는지 확인
02 UI - EventSystem 추가
03 MainCamera에 Physics Raycast추가
public void OnPointerClick(PointerEventData eventData)
{
score++;
Score();
}
public void Score()
{
NameText.text = score.ToString();
}
동영상 참조
4. IPointerUpHandler
마우스의 버튼을 놓았을때 호출되는 콜백 함수
public void OnPointerUp(EventSystems.PointerEventData eventData);
5. IPointerDownHandler
마우스의 버튼이 눌러졌을때 호출되는 콜백 함수
public void OnPointerDown(EventSystems.PointerEventData eventData);
Unity에서 IPointerUpHandler와IPointerDownHandler사용 예시
해당 Cube를 클릭하면 색깔이 빨갛게, 클릭을 떼면 원래 색상으로 변하게 만들기
전제조건
01 Cube에 Collider있는지 확인
02 UI - EventSystem 추가
03 MainCamera에 Physics Raycast추가
public void OnPointerDown(PointerEventData eventData)
{
NameText.text = "OnPointerDown!";
GetComponent<MeshRenderer>().material.color = Color.yellow;
}
public void OnPointerUp(PointerEventData eventData)
{
NameText.text = "OnPointerUp!";
GetComponent<MeshRenderer>().material.color = color;
}
동영상 참조
반응형
'유니티 공부 > Unity' 카테고리의 다른 글
Unity - 옵저버 패턴(Observer Pattern) (0) | 2023.05.21 |
---|---|
Unity - Coroutine(코루틴) (0) | 2023.05.20 |
Unity - SetActive, activeSelf (0) | 2023.05.12 |
Unity - 싱글톤(Singleton), Manager (0) | 2023.05.11 |
Unity - ScriptableObject (0) | 2023.05.10 |
댓글