게임패드 버튼 해제 체크 함수
gamepad_button_check_released
함수는 주어진 게임패드 버튼이 해제되었는지를 확인하여 true
또는 false
를 반환합니다. 이 함수는 버튼이 해제된 순간에만 한 번 호출됩니다. 다시 호출되기 위해서는 버튼이 먼저 눌렸다가 다시 해제되어야 합니다. 아날로그 버튼을 체크하는 경우, 설정된 임계값(threshold)을 고려하여 원시 입력 값이 주어진 임계값 아래로 내려갈 때만 true
를 반환합니다. 이 원시 값은 gamepad_button_value()
함수를 사용하여 얻을 수 있습니다.
문법
gamepad_button_check_released(device, button);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
device | Real | 체크할 게임패드 장치 "슬롯" |
button | Gamepad Button Constant | 체크할 게임패드 버튼 상수 |
반환 값
- Boolean: 버튼이 해제되었으면
true
, 아니면false
.
예제 코드
if (gamepad_button_check_released(0, gp_select)) {
audio_play_sound(snd_Button, 0, false);
global.Pause = !global.Pause;
}
위 코드는 장치 "슬롯" 0에 연결된 게임패드의 "select" 버튼이 눌렸는지를 감지하고, 글로벌 변수 "Pause"를 토글합니다.
활용 예제
- 게임 일시 정지 기능
gml if (gamepad_button_check_released(0, gp_start)) { global.Pause = !global.Pause; }
- 메뉴 선택
gml if (gamepad_button_check_released(0, gp_a)) { // 메뉴에서 선택된 항목 실행 execute_selected_menu_item(); }
- 캐릭터 점프
gml if (gamepad_button_check_released(0, gp_b)) { if (is_on_ground) { vertical_speed = -jump_strength; } }
- 아이템 사용
gml if (gamepad_button_check_released(0, gp_x)) { use_item(selected_item); }
- 스킬 발동
gml if (gamepad_button_check_released(0, gp_y)) { activate_skill(current_skill); }
이와 같이 gamepad_button_check_released
함수를 활용하여 다양한 게임 기능을 구현할 수 있습니다.