키패드 상태 확인 함수
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();
}