키보드 입력 확인하기

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' 키가 눌리면 캐릭터의 스프라이트를 공격 모드로 변경하는 예제입니다.