게임패드 버튼 체크 함수 설명
gamepad_button_check 함수는 주어진 게임패드 버튼이 눌려져 있는지 여부에 따라 true 또는 false를 반환합니다. 아날로그 버튼을 체크하는 경우, 설정된 임계값(threshold)을 고려하여 원시 입력 값이 주어진 임계값을 초과하는 동안에만 true를 반환합니다. 원시 입력 값은 gamepad_button_value 함수를 사용하여 얻을 수 있습니다.
문법
gamepad_button_check(device, button);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| device | Real | 체크할 게임패드 장치 "슬롯" |
| button | Gamepad Button Constant | 체크할 게임패드 버튼 상수 |
반환 값
- Boolean: 버튼이 눌려져 있으면
true, 아니면false를 반환합니다.
예제 코드
아래 코드는 PS3 컨트롤러의 상단 버튼(하단 버튼, "X" 버튼)이 눌려져 있는지를 감지하고, 눌려져 있다면 "총알" 인스턴스를 생성하고 알람을 설정합니다.
if (gamepad_button_check(0, gp_face1)) {
if (canshoot == true) {
audio_play_sound(snd_Shoot, 0, false);
instance_create_layer(x, y, "Bullets", obj_Bullet);
canshoot = false;
alarm[0] = game_get_speed(gamespeed_fps) / 2;
}
}
활용 예제
1. 점프 기능 구현
게임에서 점프 버튼을 체크하여 캐릭터가 점프하도록 할 수 있습니다.
if (gamepad_button_check(0, gp_face2)) {
if (!isJumping) {
isJumping = true;
verticalSpeed = jumpForce;
}
}
2. 이동 기능 구현
게임패드의 방향 버튼을 체크하여 캐릭터를 이동시킬 수 있습니다.
if (gamepad_button_check(0, gp_left)) {
x -= moveSpeed;
}
if (gamepad_button_check(0, gp_right)) {
x += moveSpeed;
}
3. 공격 기능 구현
특정 버튼을 눌렀을 때 공격 애니메이션을 재생할 수 있습니다.
if (gamepad_button_check(0, gp_face3)) {
if (!isAttacking) {
isAttacking = true;
play_animation(attackAnimation);
}
}
4. 아이템 사용
게임패드 버튼을 체크하여 아이템을 사용할 수 있습니다.
if (gamepad_button_check(0, gp_face4)) {
use_item(currentItem);
}
이와 같이 gamepad_button_check 함수를 활용하여 다양한 게임 기능을 구현할 수 있습니다.