키보드 입력

GameMaker에서 키보드를 다룰 때, 눌림 상태나 해제 상태를 인식할 수 있는 다양한 함수들이 제공됩니다. 또한, 모든 키 입력을 문자열로 저장하거나 마지막으로 눌린 키를 알려주는 함수도 있으며, 키보드 상태를 완전히 초기화하는 함수도 있습니다.

각 키에서 입력되는 문자는 UTF-8 코드로 정의되며, 이는 숫자 값입니다. 이 값은 ord 함수를 사용하여 어떤 문자에 대해서도 가져올 수 있습니다. GameMaker는 가장 많이 사용되는 키보드 특수 키에 대한 상수와 특별한 함수도 제공합니다. 일반적으로 ordkeyboard_check* 함수를 조합하여 사용합니다. 예를 들어:

if (keyboard_check(ord("A"))) {
    hspeed = -5;
}

위 코드는 "A" 키가 눌렸는지 확인하고, 눌렸다면 객체의 수평 속도를 -5로 설정합니다. ord를 이렇게 사용하는 경우, 입력 문자열이 한 문자 길이여야 하며 0에서 9까지의 숫자 또는 대문자 A에서 Z까지의 문자여야만 올바르게 작동합니다. ord 함수는 전체 UTF-8 값을 반환하지만, keyboard_check* 함수는 A-Z와 0-9만 감지합니다.

방향키 및 Shift 키 사용하기

방향키를 사용하거나 "Shift" 키를 이용해 액션을 수정하고 싶다면, GameMaker는 vk_* 상수(여기서 vk는 virtual key를 의미)를 제공합니다. 아래는 vk_* 상수의 목록입니다.

상수 설명
vk_nokey 아무 키도 눌리지 않음을 나타내는 키코드
vk_anykey 아무 키가 눌렸음을 나타내는 키코드
vk_left 왼쪽 방향키의 키코드
vk_right 오른쪽 방향키의 키코드
vk_up 위쪽 방향키의 키코드
vk_down 아래쪽 방향키의 키코드
vk_enter Enter 키의 키코드
vk_escape Escape 키의 키코드
vk_space Space 키의 키코드
vk_shift Shift 키 중 하나
vk_control Control 키 중 하나
vk_alt Alt 키의 키코드
vk_backspace Backspace 키의 키코드
vk_tab Tab 키의 키코드
vk_home Home 키의 키코드
vk_end End 키의 키코드
vk_delete Delete 키의 키코드
vk_insert Insert 키의 키코드
vk_pageup Page Up 키의 키코드
vk_pagedown Page Down 키의 키코드
vk_pause Pause/Break 키의 키코드
vk_printscreen Print Screen/SysRq 키의 키코드
vk_f1 ... vk_f12 F1부터 F12까지의 기능 키의 키코드
vk_numpad0 ... vk_numpad9 숫자 키패드의 숫자 키들
vk_multiply 숫자 키패드의 곱하기 키
vk_divide 숫자 키패드의 나누기 키
vk_add 숫자 키패드의 더하기 키
vk_subtract 숫자 키패드의 빼기 키
vk_decimal 숫자 키패드의 소수점 키
vk_lshift 왼쪽 Shift 키의 키코드
vk_lcontrol 왼쪽 Control 키의 키코드
vk_lalt 왼쪽 Alt 키의 키코드
vk_rshift 오른쪽 Shift 키의 키코드
vk_rcontrol 오른쪽 Control 키의 키코드
vk_ralt 오른쪽 Alt 키의 키코드

다음은 vk_* 상수를 사용하는 간단한 예제입니다:

if (keyboard_check_pressed(vk_tab)) {
    instance_create_layer(x, y, "Controllers", obj_Menu);
}

위 코드는 "Tab" 키가 눌렸는지 확인하고, 눌렸다면 obj_Menu 객체의 인스턴스를 생성합니다.

키 문자 확인하기

0-9, A-Z 또는 vk_* 상수가 아닌 키 문자를 확인해야 하는 경우, keyboard_* 변수를 확인해야 합니다. 예를 들어 keyboard_lastchar를 사용할 수 있습니다:

var _key = keyboard_lastchar;
if ord(_key) == ord("ç") {
    show_debug_message("ç 키가 눌렸습니다.");
}

함수 참조

함수 이름 설명
io_clearkey 키보드 입력 초기화
keyboard_check 키가 눌렸는지 확인
keyboard_check_pressed 키가 눌렸는지 확인 (한 번만)
keyboard_check_released 키가 해제되었는지 확인
keyboard_check_direct 직접 키보드 입력 확인
keyboard_clear 키보드 상태 초기화
keyboard_set_map 키보드 매핑 설정
keyboard_get_map 키보드 매핑 가져오기
keyboard_unset_map 키보드 매핑 해제
keyboard_set_numlock Num Lock 설정
keyboard_get_numlock Num Lock 상태 가져오기
keyboard_key 현재 눌린 키의 키코드
keyboard_lastkey 마지막 눌린 키의 키코드
keyboard_lastchar 마지막 눌린 문자
keyboard_string 키보드 입력 문자열

참고: 가상 키보드를 사용할 때는 keyboard_string 변수만 업데이트됩니다.

Read more

기술 문서 해설 및 활용 예제

이 문서는 특정 기술에 대한 설명과 활용 방법을 다룹니다. 아래에서 내용을 쉽게 이해할 수 있도록 해설하고, 다양한 활용 및 응용 예제를 추가로 제공합니다. 기술 개요 이 기술은 게임 개발에서 자주 사용되는 기능으로, 특정 작업을 자동화하거나 효율적으로 처리하는 데 도움을 줍니다. 주로 게임의 로직을 구성하거나 사용자 인터페이스를 제어하는 데 사용됩니다. 주요

By 이재협/실장/시스템개발실/PHYSIA

키워드 설명서

이 문서는 특정 키워드에 대한 설명과 사용법을 제공합니다. 문법 (arguments); 인수 인수 이름 유형 설명 argument_name 인수에 대한 설명을 여기에 작성합니다. 반환값 (선택적 설명) 예제 code_example() { // 여기에 코드 예제를 설명합니다. } 코드 예제 설명 위의 코드 예제는 특정 기능을 수행하는 함수의 기본 구조를 보여줍니다. 이 함수는 인수를 받아들이고, 특정

By 이재협/실장/시스템개발실/PHYSIA

GameMaker 환경 설정 및 기능

이 문서에서는 GameMaker의 환경 설정 및 다양한 IDE 기능에 대한 정보를 제공합니다. 다음은 주요 항목들입니다: IDE 환경 설정 IDE(통합 개발 환경) 설정은 GameMaker의 전반적인 사용 경험을 조정하는 데 도움을 줍니다. 여기서 사용자는 개인의 필요에 맞게 다양한 옵션을 설정할 수 있습니다. 주요 설정 항목 설정 항목 설명 테마 IDE의 색상

By 이재협/실장/시스템개발실/PHYSIA

GameMaker IDE 설명서

GameMaker IDE는 게임을 만들고 소프트웨어에서 제공하는 모든 기능을 활용하는 주요 인터페이스입니다. 이 프로그램은 시작 화면부터 게임을 만들기 위해 사용하는 모든 편집기 창까지 포함되며, 매뉴얼과 다양한 튜토리얼에서 IDE라고 언급됩니다. IDE의 구성 요소 다음 섹션에서는 IDE에 대한 정보를 다룹니다: 1. 설정 및 기능 IDE의 설정 및 기능은 사용자가 게임 개발을 보다 효율적으로

By 이재협/실장/시스템개발실/PHYSIA