대화 상자(Dialog) 사용 안내
현대의 컴퓨터와 모바일 기기는 대화 상자가 표시되는 동안 게임이 중단되는 것을 좋아하지 않습니다. 이러한 상황은 게임 실행기가 멈춘 것으로 해석될 수 있으며, 오류로 간주되어 앱이 조기에 종료될 수 있습니다. 이를 방지하기 위해 GameMaker는 비동기 대화 상자 기능을 제공합니다. 이 기능은 사용자 피드백이나 입력을 요청할 수 있지만, 게임 실행기를 차단하지 않고 정상적으로 실행됩니다. 사용자가 대화 상자에 응답하면 Dialog Asynchronous Event
가 호출되어 결과를 처리할 수 있습니다.
대화 상자 함수는 shop_leave_rating
를 제외하고는 디버깅 및 테스트 용도로만 사용해야 하며, 출시된 게임에서는 사용하지 않는 것이 좋습니다. 대신, 플레이어로부터 입력을 받기 위해 사용자 정의 인터페이스를 만들어야 하며, 이를 통해 대화 상자의 모양과 동작을 완전히 제어할 수 있습니다. 콘솔 및 모바일 플랫폼에서는 시스템 UI를 사용하여 대화 상자를 표시합니다.
이 함수들은 Windows의 일반 전체 화면 모드에서는 작동하지 않습니다. 게임이 전체 화면을 소유하기 때문입니다. 대신, 테두리 없는 전체 화면 모드에서 사용할 수 있으며, 이를 위해 window_enable_borderless_fullscreen
을 참조하세요.
비동기 대화 상자 함수 목록
함수 이름 | 설명 |
---|---|
get_login_async | 비동기 로그인 요청 |
get_string_async | 문자열 입력 요청 |
get_integer_async | 정수 입력 요청 |
show_message_async | 메시지 표시 요청 |
show_question_async | 질문 표시 요청 |
shop_leave_rating | 상점 떠나기 평가 요청 |
활용 예제
1. 비동기 문자열 입력 요청
var user_input = get_string_async("이름을 입력하세요:", "기본값");
2. 비동기 정수 입력 요청
var user_age = get_integer_async("나이를 입력하세요:", 18);
3. 메시지 표시
show_message_async("게임을 시작합니다!");
4. 질문 표시
var answer = show_question_async("게임을 계속 하시겠습니까?");
이러한 비동기 대화 상자 기능을 활용하여 사용자와의 상호작용을 개선하고, 게임의 흐름을 방해하지 않으면서도 필요한 정보를 수집할 수 있습니다.