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

2021. 6. 25. 17:15·Archive/GameDevelop
반응형

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

#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)
    {
        //..
    }
}

 

반응형

'Archive > GameDevelop' 카테고리의 다른 글

[Unity Function] Invoke() 관련 함수  (0) 2021.06.26
[Unity Function] 플레이어 점프 구현 Physics2D.OverlapCircle()  (0) 2021.06.25
[Unity UI] #UGUI VOL2 UI 기본 구성 요소 Text (텍스트)  (0) 2021.06.23
[Unity UI] #UGUI VOL1 UI 기본 구성 요소 Canvas (캔버스)  (0) 2021.06.23
[Unity] 오브젝트 회전 Rotation & Quaternion & eulerAngles (캐릭터 좌우 반전 코드)  (0) 2021.06.23
'Archive/GameDevelop' 카테고리의 다른 글
  • [Unity Function] Invoke() 관련 함수
  • [Unity Function] 플레이어 점프 구현 Physics2D.OverlapCircle()
  • [Unity UI] #UGUI VOL2 UI 기본 구성 요소 Text (텍스트)
  • [Unity UI] #UGUI VOL1 UI 기본 구성 요소 Canvas (캔버스)
novs
novs
https://github.com/novvvv
  • novs
    nov.Zip
    novs
  • 전체
    오늘
    어제
    • All (381)
      • Project (2)
        • Rag Blog (2)
      • Spring Framework (27)
        • Java Fundamental (13)
        • SpringSecurity (1)
        • Multi Thread Programming (3)
        • Spring Framework (3)
        • JPA (4)
      • Security (2)
      • Cloud (2)
        • Docker (1)
        • AWS (1)
      • Mobile Development (0)
      • dev (7)
        • Git (2)
        • React (2)
        • Android (1)
        • Computer Science (2)
      • Algorithm (29)
        • PS With C++ (8)
        • Algorithm (2)
        • BOJ (16)
        • AtCoder (3)
      • Archive (312)
        • 동아리 사이트 개발일지 (3)
        • 카페 주문 시스템 (3)
        • UIKit (2)
        • Swift Language (3)
        • PS With Swift (2)
        • Next.js (3)
        • React (2)
        • Git (1)
        • Linux (3)
        • Vue.js (2)
        • Flutter (11)
        • ...2022 (34)
        • ...2024 (2)
        • C# (14)
        • C&C++ (47)
        • GameDevelop (19)
        • WEB (32)
        • CS (7)
        • Algorithm (13)
        • ProblemSolving (105)
        • Daily (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c#
    그리디
    BOJ
    유니티
    javascript
    HTML
    코딩테스트
    BFS
    dp
    깃허브
    C
    안드로이드스튜디오
    프로그래머스
    C언어
    C++
    자료구조
    깃
    sort
    스택
    다이나믹프로그래밍
    객체지향
    자바스크립트
    백준
    js
    알고리즘
    고득점키트
    STL
    C++문법
    소스코드
    문제풀이
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
novs
[Unity Interface] IPointer Interface (마우스 클릭 / 터치 반응 인터페이스)
상단으로

티스토리툴바