반응형
Unity의 PointEventData 클래스는 터치 또는 마우스 입력 이벤트에 대한 정보를 저장하는 클래스입니다.
이 클래스는 InputModule 클래스에 의해 사용되며, InputModule 클래스를 통해 터치 또는 마우스 입력 이벤트에 대한 정보를 얻을 수 있습니다.
PointEventData 클래스의 속성
PointEventData 클래스는 다음과 같은 속성을 가지고 있습니다.
- position: 터치 또는 마우스 포인터의 위치
- clickCount: 클릭 횟수
- clickTime: 클릭 시간
- delta: 터치 또는 마우스 포인터의 이동량
- dragging: 터치 또는 마우스 포인터가 이동 중인지 여부
- button: 터치 또는 마우스 버튼
- phase: 터치 또는 마우스 이벤트의 단계
- pointerId: 터치 또는 마우스 포인터의 ID
PointEventData 클래스의 메서드
PointEventData 클래스는 다음과 같은 메서드를 가지고 있습니다.
- GetPosition: 터치 또는 마우스 포인터의 위치를 가져오는 메서드
- GetClickCount: 클릭 횟수를 가져오는 메서드
- GetClickTime: 클릭 시간을 가져오는 메서드
- GetDelta: 터치 또는 마우스 포인터의 이동량을 가져오는 메서드
- IsDragging: 터치 또는 마우스 포인터가 이동 중인지 여부를 확인하는 메서드
- GetButton: 터치 또는 마우스 버튼을 가져오는 메서드
- GetPhase: 터치 또는 마우스 이벤트의 단계를 가져오는 메서드
- GetPointerId: 터치 또는 마우스 포인터의 ID를 가져오는 메서드
PointEventData 클래스의 사용 예제
다음은 PointEventData 클래스를 사용하는 예제 코드입니다.
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;
}
이 코드에서는 PointerDown 이벤트가 발생할 때마다 터치 또는 마우스 포인터의 위치, 클릭 횟수, 클릭 시간, 이동량, 이동 여부, 버튼, 단계, ID를 출력합니다.
PointEventData 클래스의 활용
PointEventData 클래스는 터치 또는 마우스 입력 이벤트에 대한 정보를 얻는 데 사용됩니다. 이 클래스를 사용하여 터치 또는 마우스 포인터의 위치, 클릭 횟수, 클릭 시간, 이동량, 이동 여부, 버튼, 단계, ID를 얻을 수 있습니다.
PointEventData 클래스를 활용하여 다음과 같은 작업을 수행할 수 있습니다.
- 터치 또는 마우스 입력 이벤트를 처리합니다.
- 터치 또는 마우스 입력 이벤트를 사용하여 게임 오브젝트를 이동합니다.
- 터치 또는 마우스 입력 이벤트를 사용하여 게임 오브젝트를 회전합니다.
- 터치 또는 마우스 입력 이벤트를 사용하여 게임 오브젝트를 확대/축소합니다.
PointEventData 클래스는 Unity에서 터치 또는 마우스 입력 이벤트를 처리하는 데 중요한 역할을 하는 클래스입니다.
'Unity' 카테고리의 다른 글
Unity의 Character Controller : 간단하게 움직임 구현 (0) | 2023.12.05 |
---|---|
Unity의 Collision에 관하여 (0) | 2023.11.30 |
간단하게 오브젝트 간의 각도 구하는 방법 (0) | 2023.11.24 |
Vector3 : Lerp, SmoothDamp, MoveTowards 비교 (0) | 2023.11.23 |
헷갈리는 오브젝트 회전 방법 Part 2 (Lerp, Slerp, RotateTowards) (0) | 2023.11.22 |