[내배캠] 최종 프로젝트 #1. 모바일 터치 입력 방식

Sungchan Ahn(안성찬)·2024년 11월 26일

내일배움캠프

목록 보기
69/104

모바일 터치를 확인하는 방법들

1. OnMouse-() 메서드

  • OnMouseUp() 화면에서 떨어졌을 때
  • OnMouseDrag() 터치 + 이동할 때
  • OnMouseDown() 터치 시

이름은 Mouse지만 모바일에서도 인식

2. IPointerDownHandler, IDragHandler, IPointerUpHandler - EventSystem

  • IPointerDownHandler : OnPointerDown(PointerEventData eventData) 메서드
  • IPointerUpHandler : OnPointerUp(PointerEventData eventData) 메서드
  • IDragHandler : OnDrag(PointerEventData eventData) 메서드

Collider를 가진 오브젝트나 GUIElement에 반응한다.
오브젝트의 Collider에 반응하려면 Camera에 Physics Raycaster 컴포턴트가 있어야 한다.
GUIElement는 Graphic Raycaster 컴포넌트가 필요하다.
Raycaster로 원하는 오브젝트나 UI요소들에 대한 터치를 인식

3. Input.GetMouseButtonDown(0) / GetMouseButtonUp(0)

PC에서 마우스와 같이 모바일에서 터치로 작동

4. Input.touchCount / Input.GetTouch(idx) / Touch.phase

모바일에서만 작동하는 Touch 구조체 사용

  • Input.touchCount : 감지된 터치 수
  • Input.GetTouch : 현재 입력된 터치 정보, 여러 개일 경우 GetTouch(0), GetTouch(1) 등으로 가져올 수 있다.
  • Touch.phase(enum TouchPhase) : 터치 상태 확인. TouchPhase.Began, Stationary, Moved, Ended, Canceled의 상태를 가짐

Event System

  • EventSystem 컴포넌트: 이벤트를 관리하고 처리하는 중심 컴포넌트. 하나의 씬에 하나만 존재해야함
  • Messaging System: 입력 이벤트에 대한 Interface가 구현된 모든 컴포넌트로 호출이 발생
  • Input Modules(입력 모듈): 각 하드웨어 별 입력에 대한 이벤트 매핑
  • Raycasters: 입력 이벤트를 보낼 곳을 감지하는 역할
profile
게임 개발 기록

0개의 댓글