비동기 대화 상자 이벤트 설명
비동기 대화 상자 이벤트는 get_login_async
와 같은 특별한 비동기 대화 함수로부터 콜백을 받을 때만 트리거됩니다. 이러한 함수들은 사용자 입력을 요구하는데, 입력 내용은 이름, 로그인 정보, 숫자, 색상 등 다양할 수 있습니다. 대부분의 장치는 응답을 기다리며 루프에 머무르는 것을 좋아하지 않기 때문에 비동기적으로 작동해야 하며, 이로 인해 GameMaker는 이러한 함수가 대화 상자를 열고 필요한 사용자 입력을 받을 때까지 백그라운드에서 계속 실행됩니다.
게임이 진행 중일 때 대화 상자가 열려 있다면, 대화 콜백이 수신될 때까지 게임을 일시 정지하는 조치를 취해야 합니다. 비동기 대화 함수는 디버깅 및 테스트 용도로만 사용되며, 데스크톱 운영 체제에서 출시된 게임에서는 사용하지 않아야 합니다. 대신, 플레이어로부터 입력을 받을 수 있는 사용자 인터페이스를 직접 만들어 대화 상자의 모양과 동작을 완전히 제어하는 것이 좋습니다.
비동기 대화 상자 함수 예제
함수 이름 | 설명 |
---|---|
get_login_async |
사용자 로그인 정보를 비동기적으로 요청합니다. |
get_number_async |
사용자에게 숫자를 입력받습니다. |
get_color_async |
사용자에게 색상을 선택하도록 요청합니다. |
활용 예제
// 사용자 로그인 요청 예제
var login_info = get_login_async("로그인", "사용자 이름과 비밀번호를 입력하세요.");
if (async_load[? "id"] == login_info) {
var username = async_load[? "username"];
var password = async_load[? "password"];
// 로그인 처리 로직
}
// 사용자에게 숫자 입력 요청 예제
var number_input = get_number_async("숫자 입력", "숫자를 입력하세요.");
if (async_load[? "id"] == number_input) {
var user_number = async_load[? "number"];
// 숫자 처리 로직
}
// 사용자에게 색상 선택 요청 예제
var color_input = get_color_async("색상 선택", "원하는 색상을 선택하세요.");
if (async_load[? "id"] == color_input) {
var selected_color = async_load[? "color"];
// 색상 처리 로직
}
이와 같이 비동기 대화 상자 함수를 활용하여 사용자와의 상호작용을 구현할 수 있습니다.