장치 입력
게임이 멀티 터치를 지원하는 플랫폼을 대상으로 할 때는 다음의 함수들을 사용해야 합니다. 이 함수들은 여러 개의 마우스가 연결된 PC와 같은 방식으로 작동하며, 체크하는 상수는 표준 마우스 함수에서 사용되는 것과 동일합니다.
모든 함수는 장치 디스플레이에서의 터치에 해당하는 "touch" 값을 받을 수 있지만, 감지할 수 있는 최대 터치 수는 장치와 운영 체제에 따라 다릅니다. 예를 들어, 일부 저가형 안드로이드 장치는 동시에 2~3개의 터치만 감지할 수 있는 반면, 윈도우 장치는 최대 10개까지 감지할 수 있습니다.
터치 스크린 장치에서는 더블 탭이 오른쪽 마우스 버튼 이벤트와 동일하게 반환됩니다. 따라서, 빠른 연속으로 여러 번 탭을 감지해야 하는 경우, mb_left
와 mb_right
를 모두 확인해야 합니다. 이 기능은 device_mouse_dbclick_enable()
함수를 사용하여 켜거나 끌 수 있습니다.
장치별 제어 함수 목록
함수 이름 | 설명 |
---|---|
device_mouse_check_button | 특정 버튼이 눌렸는지 확인합니다. |
device_mouse_check_button_pressed | 버튼이 눌린 순간을 확인합니다. |
device_mouse_check_button_released | 버튼이 놓인 순간을 확인합니다. |
device_mouse_dbclick_enable | 더블 클릭 기능을 활성화/비활성화합니다. |
device_mouse_x | 현재 마우스 X 좌표를 반환합니다. |
device_mouse_y | 현재 마우스 Y 좌표를 반환합니다. |
device_mouse_raw_x | 원시 마우스 X 좌표를 반환합니다. |
device_mouse_raw_y | 원시 마우스 Y 좌표를 반환합니다. |
device_mouse_x_to_gui | GUI에 대한 마우스 X 좌표를 변환합니다. |
device_mouse_y_to_gui | GUI에 대한 마우스 Y 좌표를 변환합니다. |
device_is_keypad_open | 키패드가 열려 있는지 확인합니다. |
device_get_tilt_x | X축 기울기를 반환합니다. |
device_get_tilt_y | Y축 기울기를 반환합니다. |
device_get_tilt_z | Z축 기울기를 반환합니다. |
모바일 장치(안드로이드, iOS, 윈도우 폰)에서는 언제든지 백 버튼을 사용할 수 있으며, 이는 키보드의 backspace
에 매핑되어 있습니다. 이는 GameMaker의 키보드 상수 vk_backspace
와 동일하므로, 해당 키를 체크하고 백 버튼이 사용된 것처럼 장치에서 동작을 수행할 수 있습니다.
활용 예제
// 터치 입력 감지 예제
if (device_mouse_check_button(mb_left)) {
// 왼쪽 버튼이 눌렸을 때의 동작
}
// 더블 클릭 감지 예제
if (device_mouse_check_button_pressed(mb_left)) {
device_mouse_dbclick_enable(true); // 더블 클릭 활성화
}
// 터치 좌표 가져오기 예제
var touch_x = device_mouse_x;
var touch_y = device_mouse_y;
// 기울기 값 가져오기 예제
var tilt_x = device_get_tilt_x();
var tilt_y = device_get_tilt_y();
var tilt_z = device_get_tilt_z();