키패드 상태 확인 함수
device_is_keypad_open 함수는 장치에 키패드가 있는지 확인하고, 키패드가 사용 가능하면 true를 반환하며, 그렇지 않으면 false를 반환합니다. 이 함수는 주로 Android 장치에서 사용됩니다.
주의사항
- Sony Xperia Play와 같은 특정 장치에서는 GameMaker 내에 버튼/키 맵이 설정되어 있습니다.
- 키패드 상수는 다음과 같이 매핑됩니다:
- 방향키:
vk_up,vk_down,vk_left,vk_right - 버튼:
- Triangle:
ord("T") - Square:
ord("S") - Circle:
vk_alt + vk_backspace - Back:
vk_backspace - Cross:
vk_space - Select:
vk_return - Start:
vk_rshift - L Trigger:
ord("L") - R Trigger:
ord("R")
- Triangle:
문법
device_is_keypad_open
반환값
- 키패드가 열려 있으면
true - 키패드가 열려 있지 않으면
false
예제
다음 코드는 키패드의 상태를 확인하고, 반환된 값에 따라 전역 변수를 변경합니다.
if (device_is_keypad_open()) {
global.Setting = 2;
} else {
global.Setting = 1;
}
활용 예제
| 예제 번호 | 설명 |
|---|---|
| 1 | 키패드가 열려 있는 경우 특정 UI 요소를 표시합니다. |
| 2 | 키패드가 닫혀 있을 때 게임의 조작 방식을 변경합니다. |
| 3 | 키패드 상태에 따라 다른 게임 모드를 활성화합니다. |
| 4 | 키패드가 열려 있을 때만 특정 기능을 활성화합니다. |
// 예제 1: 키패드가 열려 있을 때 UI 요소 표시
if (device_is_keypad_open()) {
show_ui_element();
}
// 예제 2: 키패드가 닫혀 있을 때 조작 방식 변경
if (!device_is_keypad_open()) {
change_control_scheme();
}
// 예제 3: 키패드 상태에 따라 게임 모드 활성화
if (device_is_keypad_open()) {
activate_mode("KeypadMode");
} else {
activate_mode("TouchMode");
}
// 예제 4: 키패드가 열려 있을 때만 기능 활성화
if (device_is_keypad_open()) {
enable_special_feature();
}