게임패드 버튼 해제 확인
이 문서는 주어진 게임패드 인덱스에 대한 게임패드 버튼이 해제되었는지 확인하는 방법에 대해 설명합니다. 버튼이 해제되는 동안 하나의 게임 틱에서 true를 반환하고, 그 외의 시간에는 false를 반환합니다. not 수식어를 활성화하면, 이 동작이 반대로 작동하여 버튼이 해제되지 않았는지 체크하며, 버튼이 해제된 게임 틱에서는 false를 반환하고 나머지 시간에는 true를 반환합니다.
버튼이 아날로그일 경우
아날로그 버튼의 경우, 버튼 값이 Set Gamepad Button Threshold에서 설정한 임계값 아래로 내려가기 전까지 해제를 감지하지 않습니다.
문법 및 인수
Action Syntax:
if Gamepad Button Released(Gamepad, Button, Not);
인수 설명
| 인수 | 설명 |
|---|---|
| Gamepad | 게임패드 인덱스 |
| Button | 확인할 버튼의 이름 |
| Not | 체크를 부정 (true가 false로, 그 반대) |
예제 코드
아래의 예제 코드 블록은 게임패드 0의 버튼 상태를 매 스텝마다 체크합니다. 버튼이 눌려 있다면, 최초 버튼 누름을 확인하고, 체크가 true인 경우 소리가 재생됩니다. 버튼을 누르고 있는 동안 인스턴스 속도가 10으로 설정되고, 버튼이 해제되면 속도는 다시 0으로 초기화됩니다.
if Gamepad Button Released(0, gp_face1, false) {
audio_play_sound(sound_button_press, 1, false);
speed = 10;
} else {
if Gamepad Button Released(0, gp_face1, true) {
speed = 0;
}
}
다양한 활용 및 응용 예제
예제 1: 버튼 해제를 사용한 스프라이트 변경
버튼이 해제되면 스프라이트를 변경하는 액션을 추가할 수 있습니다.
if Gamepad Button Released(0, gp_face2, false) {
sprite_index = spr_new_sprite;
}
예제 2: 게임 종료 확인
버튼이 해제될 때 게임을 종료하는 액션입니다.
if Gamepad Button Released(0, gp_start, false) {
game_end();
}
예제 3: 메뉴 네비게이션
게임패드 버튼 해제를 활용해 메뉴 항목 이동 구현하기.
if Gamepad Button Released(0, gp_up, false) {
selected_menu_index -= 1;
}
if Gamepad Button Released(0, gp_down, false) {
selected_menu_index += 1;
}
요약
이 문서에서는 게임패드 버튼의 해제를 확인하는 방법에 대해 설명했습니다. 또한, 다양한 활용 예제를 제시하여 게임에서 게임패드의 사용법을 간단히 이해할 수 있도록 도와주었습니다.