키보드 입력 확인하기
keyboard_check
함수는 특정 키가 눌려져 있는지를 확인하는 데 사용됩니다. 이 함수는 키코드 값을 인자로 받아들이며, 이 값은 ord
함수에 의해 반환됩니다. 키코드는 대문자 A-Z 또는 숫자 0-9에 해당합니다. 또한, 메인 키보드 입력 페이지에 나열된 vk_*
상수 중 하나를 사용할 수 있습니다.
이 함수는 keyboard_check_pressed
또는 keyboard_check_released
함수와는 다르게, 키가 눌려져 있는 동안 매 스텝마다 호출됩니다.
문법
keyboard_check(key);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
key | Virtual Key Constant (vk_*) | 눌려져 있는 상태를 확인할 키 |
반환값
- Boolean: 키가 눌려져 있으면
true
, 그렇지 않으면false
를 반환합니다.
예제
if (keyboard_check(vk_left)) {
x -= 5;
}
위 코드는 왼쪽 화살표 키가 눌려져 있는지를 확인하고, 키가 눌려져 있는 동안 인스턴스를 매 스텝마다 5픽셀 왼쪽으로 이동시킵니다.
활용 예제
1. 캐릭터 이동
if (keyboard_check(vk_right)) {
x += 5;
}
if (keyboard_check(vk_up)) {
y -= 5;
}
if (keyboard_check(vk_down)) {
y += 5;
}
위 코드는 오른쪽, 위쪽, 아래쪽 화살표 키를 눌러 캐릭터를 이동시키는 예제입니다.
2. 총알 발사
if (keyboard_check(vk_space)) {
instance_create(x, y, obj_bullet);
}
위 코드는 스페이스바가 눌리면 총알 객체를 생성하는 예제입니다.
3. 점프 기능
if (keyboard_check(vk_up) && on_ground) {
vspeed = -10; // 점프 속도 설정
}
위 코드는 위쪽 화살표 키가 눌리고 캐릭터가 땅에 있을 때 점프하는 기능을 구현한 예제입니다.
4. 게임 종료
if (keyboard_check(vk_escape)) {
game_end(); // 게임 종료 함수 호출
}
위 코드는 ESC 키를 눌렀을 때 게임을 종료하는 예제입니다.
5. 스프라이트 변경
if (keyboard_check(vk_a)) {
sprite_index = spr_attack; // 공격 스프라이트로 변경
}
위 코드는 'A' 키가 눌리면 캐릭터의 스프라이트를 공격 모드로 변경하는 예제입니다.