제스처 입력
제스처 입력은 간단한 화면 터치나 장치 방향 감지 외에도 더 복잡한 동작을 감지할 수 있도록 도와줍니다. 예를 들어, 인스턴스를 방 안에서 드래그하거나 "플릭"하는 것과 같은 동작을 감지할 수 있습니다. 이러한 작업은 Device 함수를 사용하여 수행할 수 있지만, GameMaker에서는 제스처 이벤트를 통해 더 쉽게 처리할 수 있습니다.
제스처 이벤트는 더블 탭, 드래그, 플릭, 핀치 및 회전을 감지할 수 있으며, 인스턴스와 전역 수준 모두에서 사용할 수 있습니다. 이 함수들은 이벤트가 언제 어떻게 발생하는지를 더 잘 제어할 수 있도록 설계되었습니다.
중요: 이 함수들은 HTML5 타겟 플랫폼에서는 작동하지 않습니다. 사용 시 오류를 발생시키지 않지만, 단순히 무시됩니다.
사용 가능한 제스처 함수 목록
함수 이름 | 설명 |
---|---|
gesture_get_drag_time | 드래그에 걸린 시간 반환 |
gesture_get_drag_distance | 드래그 거리 반환 |
gesture_get_flick_speed | 플릭 속도 반환 |
gesture_get_double_tap_time | 더블 탭에 걸린 시간 반환 |
gesture_get_double_tap_distance | 더블 탭 거리 반환 |
gesture_get_tap_count | 탭 횟수 반환 |
gesture_get_pinch_distance | 핀치 거리 반환 |
gesture_get_pinch_angle_towards | 핀치 시 각도 반환 (가까운 방향) |
gesture_get_pinch_angle_away | 핀치 시 각도 반환 (멀어지는 방향) |
gesture_get_rotate_time | 회전에 걸린 시간 반환 |
gesture_get_rotate_angle | 회전 각도 반환 |
gesture_drag_time | 드래그에 걸린 시간 반환 |
gesture_drag_distance | 드래그 거리 반환 |
gesture_flick_speed | 플릭 속도 반환 |
gesture_double_tap_time | 더블 탭에 걸린 시간 반환 |
gesture_double_tap_distance | 더블 탭 거리 반환 |
gesture_tap_count | 탭 횟수 반환 |
gesture_pinch_distance | 핀치 거리 반환 |
gesture_pinch_angle_towards | 핀치 시 각도 반환 (가까운 방향) |
gesture_pinch_angle_away | 핀치 시 각도 반환 (멀어지는 방향) |
gesture_rotate_time | 회전에 걸린 시간 반환 |
gesture_rotate_angle | 회전 각도 반환 |
활용 예제
드래그 이벤트 감지
if (gesture_drag_distance() > 10) {
// 드래그가 감지되었을 때의 처리
}
더블 탭 감지
if (gesture_get_tap_count() == 2) {
// 더블 탭이 감지되었을 때의 처리
}
플릭 속도 측정
var flickSpeed = gesture_get_flick_speed();
if (flickSpeed > 500) {
// 빠른 플릭이 감지되었을 때의 처리
}
핀치 제스처 감지
if (gesture_get_pinch_distance() < 50) {
// 핀치가 감지되었을 때의 처리
}
회전 이벤트 감지
if (gesture_get_rotate_angle() > 30) {
// 회전이 감지되었을 때의 처리
}