Unity의 PointEventData 클래스는 터치 또는 마우스 입력 이벤트에 대한 정보를 저장하는 클래스다.
이 클래스는 InputModule 클래스에 의해 사용되며, InputModule 클래스를 통해 터치 또는 마우스 입력 이벤트에 대한 정보를 얻을 수 있다.
속성
- position: 터치 또는 마우스 포인터의 위치
- clickCount: 클릭 횟수
- clickTime: 클릭 시간
- delta: 터치 또는 마우스 포인터의 이동량
- dragging: 터치 또는 마우스 포인터가 이동 중인지 여부
- button: 터치 또는 마우스 버튼
- phase: 터치 또는 마우스 이벤트의 단계
- pointerId: 터치 또는 마우스 포인터의 ID
클래스의 메서드
- GetPosition: 터치 또는 마우스 포인터의 위치를 가져오는 메서드
- GetClickCount: 클릭 횟수를 가져오는 메서드
- GetClickTime: 클릭 시간을 가져오는 메서드
- GetDelta: 터치 또는 마우스 포인터의 이동량을 가져오는 메서드
- IsDragging: 터치 또는 마우스 포인터가 이동 중인지 여부를 확인하는 메서드
- GetButton: 터치 또는 마우스 버튼을 가져오는 메서드
- GetPhase: 터치 또는 마우스 이벤트의 단계를 가져오는 메서드
- GetPointerId: 터치 또는 마우스 포인터의 ID를 가져오는 메서드
사용 예제
void OnPointerDown(PointerEventData eventData)
{
// 터치 또는 마우스 포인터의 위치를 가져온다.
Vector3 position = eventData.position;
// 클릭 횟수를 가져온다.
int clickCount = eventData.clickCount;
// 클릭 시간을 가져온다.
float clickTime = eventData.clickTime;
// 터치 또는 마우스 포인터의 이동량을 가져온다.
Vector3 delta = eventData.delta;
// 터치 또는 마우스 포인터가 이동 중인지 여부를 확인한다.
bool dragging = eventData.dragging;
// 터치 또는 마우스 버튼을 가져온다.
PointerEventData.InputButton button = eventData.button;
// 터치 또는 마우스 이벤트의 단계를 가져온다.
PointerEventData.Phase phase = eventData.phase;
// 터치 또는 마우스 포인터의 ID를 가져온다.
int pointerId = eventData.pointerId;
}
활용
PointEventData 클래스는 터치 또는 마우스 입력 이벤트에 대한 정보를 얻는 데 사용된다. 이 클래스를 사용하여 터치 또는 마우스 포인터의 위치, 클릭 횟수, 클릭 시간, 이동량, 이동 여부, 버튼, 단계, ID를 얻을 수 있다.
PointEventData 클래스를 활용하여 다음과 같은 작업을 수행할 수 있다.
- 터치 또는 마우스 입력 이벤트를 처리한다.
- 터치 또는 마우스 입력 이벤트를 사용하여 게임 오브젝트를 이동한다.
- 터치 또는 마우스 입력 이벤트를 사용하여 게임 오브젝트를 회전한다.
- 터치 또는 마우스 입력 이벤트를 사용하여 게임 오브젝트를 확대/축소한다.
출처: https://coding-shop.tistory.com/252 [끄적끄적 코딩 공방:티스토리]
'게임엔진 > Unity' 카테고리의 다른 글
[Unity] 이미지 피벗 기준 클릭 위치 구하기 0.0 ~ 1.0 (0) | 2024.12.17 |
---|---|
[Unity] 게임 엔진에서 컴포넌트 찾기 FindObjectsByType VS FindObjectsOfType (0) | 2024.12.16 |
[Unity] 카메라 스테이킹 (Camera Staking) (0) | 2024.12.12 |
[Unity] Localization 간단 사용법 (0) | 2024.11.11 |
[Unity] UI - Localization (언어 번역) 레거시 (0) | 2024.11.11 |