게임패드 버튼 상태 확인하기
이 문서에서는 게임패드의 특정 버튼이 현재 눌려져 있는지를 확인하는 방법에 대해 설명합니다. 이 기능을 통해 버튼의 눌림 여부를 매 스텝마다 체크할 수 있습니다.
주요 개념
- 버튼이 눌려져 있는 경우, 이 액션은
true
를 반환합니다. - 버튼이 눌려져 있지 않은 경우,
false
를 반환합니다. not
수정자를 클릭하면 버튼이 눌려져 있지 않은지를 체크할 수 있습니다. 이 경우 버튼이 눌리지 않으면true
, 눌리면false
를 반환합니다.- 단일 버튼 클릭만 필요하다면
If Gamepad Button Pressed
액션을 사용하세요. - 아날로그 버튼을 체크할 경우, 버튼 값이
Set Gamepad Button Threshold
에서 설정한 임계값을 초과하기 전까지는 눌려진 것으로 간주되지 않습니다.
액션 문법 및 인수
인수 | 설명 |
---|---|
Gamepad | 게임패드 인덱스 |
Button | 체크할 버튼의 이름 |
Not | 체크 부정 (true는 false로, 반대 다시) |
예제 코드
아래 코드에서는 게임패드 0의 버튼 상태를 매 단계마다 확인하고, 버튼이 눌리면 사운드를 재생합니다. 버튼이 눌리는 동안 인스턴스의 속도를 10으로 설정하고, 버튼이 해제되면 속도를 0으로 초기화합니다.
if (gamepad_button_check(0, gp_face1)) {
audio_play_sound(sound_effect, 1, false); // 사운드 재생
while (gamepad_button_check(0, gp_face1)) {
// 버튼이 눌려져 있는 동안 속도를 10으로 설정
speed = 10;
}
} else {
// 버튼이 해제되면 속도를 0으로 초기화
speed = 0;
}
추가 활용 및 응용 예제
- 다양한 버튼 체크
- 여러 버튼을 동시에 체크하여 서로 다른 액션을 취할 수 있습니다.
gml if (gamepad_button_check(0, gp_face2)) { // 버튼 2가 눌리면 캐릭터 점프 jump(); } if (gamepad_button_check(0, gp_face3)) { // 버튼 3이 눌리면 캐릭터 이동 move_character(); }
- 아날로그 버튼 사용
- 아날로그 버튼의 압력 정도를 체크하여 캐릭터의 속도를 조절할 수 있습니다.
gml var trigger_value = gamepad_button_value(0, gp_trigger1); if (trigger_value > 0.5) { speed = trigger_value * 20; // 압력에 따라 속도 조절 } else { speed = 0; }
- 버튼 연속 체크
- 버튼을 누르고 있는 동안 특정 기능이 지속적으로 작동하도록 구현할 수 있습니다.
gml if (gamepad_button_check(0, gp_face1)) { // 버튼을 누르는 동안 소모를 계속 발생 decrease_health(); }
결론
이 문서에서는 게임패드 버튼 상태를 확인하는 방법과 실제 코드 예제를 제공했습니다. 다양한 응용과 활용 방법을 활용하여 게임의 상호작용을 강화할 수 있습니다.