가상 키와 가상 키보드
게임을 터치스크린 장치용으로 개발할 때, 사용자로부터 키보드 입력을 받는 것이 중요합니다. GameMaker를 사용할 때는 다음 두 가지 방법 중 하나로 입력을 받을 수 있습니다:
- 화면에 가상 키를 만들어 입력 받기
- 운영 체제의 가상 키보드를 띄워 입력 받기
어떤 방법을 사용할지는 게임의 특성과 필요에 따라 다르지만, 일반적으로 플레이어 조작이나 메뉴를 위한 화면 버튼이 필요할 때는 가상 키를 사용하고, 이름 입력이나 값 설정과 같은 플레이어 입력이 필요할 때는 가상 키보드를 사용합니다.
가상 키
모바일 장치에서 게임이 제대로 작동하려면, 사용자가 터치했을 때 특정 영역이 반응하도록 화면의 영역을 할당해야 할 수 있습니다. 이는 "가상 키"를 내부적으로 매핑된 표준 키보드 키에 할당하고, 생성된 키보드 이벤트를 사용하여 애플리케이션을 제어함으로써 이루어집니다. 이 "가상 키"는 방(room) 위치가 아니라 화면 위치에 매핑되므로, x/y 값은 절대값이며 디스플레이 크기를 기준으로 합니다. 따라서 뷰나 상대 방 좌표를 걱정할 필요 없이, 객체의 생성 이벤트에서 가상 키를 정의하고, GUI 이벤트에서 키 스프라이트를 그리면 됩니다. GUI 레이어의 크기를 화면과 동일하게 설정하면 됩니다.
이 기능은 터치스크린을 사용하는 Windows, Ubuntu (Linux), MacOS 플랫폼에서는 작동하지 않지만, 마우스 클릭은 "터치"로 인식됩니다. 이 기능은 HTML5 및 GX.games 타겟에서 지원됩니다.
사용 가능한 가상 키 함수
virtual_key_add
virtual_key_show
virtual_key_hide
virtual_key_delete
가상 키보드
게임에서 텍스트나 숫자 입력이 필요할 경우, 제공되는 가상 키보드 함수를 사용하여 장치의 운영 체제 키보드를 사용할 수 있습니다. 이 함수들은 OS 키보드를 호출하거나 숨기고, 입력을 받을 수 있습니다. 그러나 일반 키보드 이벤트를 트리거하지 않고, 대신 사용자 입력으로 keyboard_string
변수를 업데이트합니다. 이는 가상 키보드가 단일 문자가 아닌 전체 단어를 입력할 수 있기 때문입니다.
가상 키보드를 열거나 닫으면 시스템 비동기 이벤트가 생성되며, async_load
DS 맵은 다음의 키/값 쌍으로 채워집니다:
키 | 설명 |
---|---|
"event_type" | 수신된 시스템 이벤트의 유형, 가상 키보드의 경우 "virtual keyboard status" |
"screen_height" | 가상 키보드의 높이 (픽셀 단위). 키보드가 보이지 않으면 0입니다. |
"keyboard_status" | 키보드의 현재 상태, 다음 문자열 중 하나로 반환됩니다: "hiding", "hidden", "showing", "visible" |
사용 가능한 가상 키보드 함수
keyboard_virtual_show
keyboard_virtual_hide
keyboard_virtual_status
keyboard_virtual_height
활용 예제
가상 키 사용 예제
// 가상 키 추가
virtual_key_add(100, 100, 50, 50, "Jump");
// 가상 키 보여주기
virtual_key_show();
가상 키보드 사용 예제
// 가상 키보드 보여주기
keyboard_virtual_show();
// 가상 키보드 숨기기
keyboard_virtual_hide();
가상 키 상태 확인 예제
// 가상 키보드 상태 확인
var status = keyboard_virtual_status();
if (status == "visible") {
// 키보드가 보이는 경우
}
가상 키보드 높이 확인 예제
// 가상 키보드 높이 가져오기
var height = keyboard_virtual_height();