게임패드 버튼 체크 함수 설명
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
함수를 활용하여 다양한 게임 기능을 구현할 수 있습니다.