키 재정의 설정 해설
키 재정의 설정
GameMaker IDE의 키 재정의 섹션에서는 다양한 키보드 단축키의 매핑을 변경할 수 있습니다.
검색 기능
상단에는 검색 바가 있어 특정 명령어를 이름(예: "복사"), 키 조합(예: "CTRL+C"), 또는 위치(예: "코드 편집기")로 검색할 수 있습니다. 검색 필드 옆의 버튼을 활성화하면 단축키를 입력하여 검색할 수 있습니다. 이 기능이 활성화된 상태에서 누르는 모든 키는 일반 텍스트 대신 단축키로 입력됩니다.
필터 메뉴
검색 바 옆에는 필터 메뉴가 있습니다. 이 메뉴는 나중에 설명됩니다.
명령어 목록
"명령어 목록"은 재매핑할 수 있는 모든 단축키를 표시하며, 단축키의 위치에 따라 다양한 카테고리로 나뉩니다. 일부 단축키는 여러 위치에 나타납니다. 한 위치에서 키 조합을 변경하면 다른 위치에서도 동일하게 변경됩니다.
명령어 | 키 |
---|---|
Add Frame | 현재 키 매핑 |
... | ... |
명령어 목록에서 위치를 클릭하면 해당 위치에서 사용할 수 있는 명령어가 표시됩니다. 각 명령어에 대한 정보는 두 개의 열로 나뉘어 있습니다.
- 명령어: 명령어/단축키의 이름과 수행하는 작업을 설명합니다.
- 키: 명령어의 현재 키 매핑을 표시합니다.
이 열의 항목을 더블 클릭하면 해당 명령어를 재지정할 수 있습니다. 새로운 키 조합을 입력하면 즉시 등록되어 적용됩니다.
명령어 편집
- 단축키를 더블 클릭하여 새로운 단축키를 입력합니다.
- 하나 이상의 수정 키를 누른 상태에서 알파벳 및 숫자 키의 조합을 입력하여 핫키 코드를 생성합니다.
- 명령어를 편집하는 동안
ESC
키를 누르면 편집 모드에서 나가고 선택한 명령어는 수정되지 않습니다.
명령어 목록의 정렬은 열 제목(예: "명령어" 또는 "키")을 클릭하여 변경할 수 있습니다.
충돌 창
이미 다른 명령어에서 사용 중인 키 조합을 설정하려고 하면 "충돌" 창이 나타납니다. 이 창에서는 해당 키 조합을 사용 중인 명령어의 위치와 이름을 보여줍니다.
여기서 두 가지 옵션이 있습니다: - 취소: 충돌 창을 닫고 변경 사항을 적용하지 않습니다. - 모두 재지정: 선택한 명령어에 새로운 키 조합을 할당하고 이전에 동일한 조합을 사용했던 모든 명령어의 바인딩을 지웁니다.
"모두 재지정"을 사용한 후, GameMaker는 명령어 목록에서 재지정된 명령어를 강조 표시합니다.
필터 메뉴
필터 메뉴를 사용하면 명령어 목록에 표시할 명령어의 종류를 지정할 수 있습니다. 상단에는 두 가지 옵션이 있습니다: - 바인딩이 없는 명령어 표시: 이 옵션을 활성화하면 바인딩이 해제된 명령어가 표시됩니다. - 수동으로 변경된 명령어만 표시: 이 옵션을 활성화하면 기본 바인딩과 다른 명령어만 표시됩니다.
아래에는 명령어 목록에 표시할 위치를 지정할 수 있는 여러 옵션이 있습니다. 기본적으로 "모든 위치"가 체크되어 있습니다.
명령어 초기화
기존 키 조합을 더블 클릭하면 변경할 수 있으며, 이때 "지우기" 버튼을 클릭하여 해당 명령어의 바인딩을 지울 수 있습니다. 기본 설정으로 되돌리려면 "기본값 복원" 버튼을 클릭하여 모든 명령어를 기본 매핑으로 초기화할 수 있습니다.
사용자 재매핑 로딩 및 저장
하단의 파일 가져오기 및 파일로 내보내기 버튼을 사용하여 키 재매핑을 가져오고 내보낼 수 있습니다. 이를 통해 재매핑된 키를 다른 GameMaker 빌드나 다른 컴퓨터로 전송할 수 있습니다.
활용 예제
// 단축키를 재정의하는 예제
if (keyboard_check_pressed(vk_control) && keyboard_check_pressed(vk_c)) {
// 복사 기능 실행
}
// 새로운 단축키 설정
global.copy_key = vk_control + vk_c;
// 단축키 사용 예제
if (keyboard_check(global.copy_key)) {
// 복사 기능 실행
}
// 충돌 처리 예제
if (keyboard_check_pressed(vk_f)) {
if (key_is_bound(vk_f)) {
show_clash_window();
} else {
// F키에 대한 새로운 기능 실행
}
}
// 사용자 설정 저장 예제
save_user_key_mappings("user_mappings.json");
// 사용자 설정 로드 예제
load_user_key_mappings("user_mappings.json");