show_message_async 함수 설명
show_message_async
함수는 사용자에게 정의한 메시지를 표시하는 창을 엽니다. 이 함수는 비동기 함수로, 사용자가 응답을 기다리는 동안에도 다른 이벤트가 정상적으로 실행됩니다. 사용자가 "확인" 버튼을 누르면 비동기 Dialog
이벤트가 발생하며, 이 이벤트 동안 async_load
변수에 DS Map
이 저장됩니다. 이 맵은 두 개의 키인 "id"
와 "status"
를 포함하고 있습니다. "id"
는 함수 호출 시 반환된 값이며, "status"
는 "확인" 버튼이 눌렸을 경우 true
, 메시지가 취소되었을 경우 false
입니다 (모든 플랫폼에서 대화 상자의 취소가 허용되는 것은 아닙니다).
문법
show_message_async(string);
인수 설명
인수 이름 | 타입 | 설명 |
---|---|---|
string | String | 사용자에게 보여줄 메시지입니다. |
반환 값
- Async Request ID
예제
다음은 메시지를 표시하는 객체의 "마우스 왼쪽 클릭" 이벤트에서 사용할 수 있는 코드입니다:
// 마우스 왼쪽 클릭 이벤트
msg = show_message_async("이제 상점으로 이동합니다.");
위 코드는 주어진 문자열로 메시지를 표시합니다. 메시지 ID는 msg
변수에 저장되며, 비동기 Dialog
이벤트에서 아래와 같이 사용됩니다:
// 비동기 대화 이벤트
var _id, _stat;
_id = ds_map_find_value(async_load, "id");
if (_id == msg) {
if (ds_map_find_value(async_load, "status")) {
url_open("https://play.google.com/store");
}
}
위 코드는 반환된 DS Map
의 "id"
키를 msg
변수에 저장된 값과 비교합니다. 두 값이 같으면 "확인" 버튼이 눌렸는지 확인하고, true
가 반환되면 URL을 엽니다.
활용 예제
- 사용자에게 경고 메시지를 표시하고, 확인 후 특정 작업을 수행하는 경우:
msg = show_message_async("정말로 삭제하시겠습니까?");
- 게임 진행 중 특정 이벤트 발생 시 사용자에게 정보를 제공하는 경우:
msg = show_message_async("레벨이 완료되었습니다!");
- 사용자가 특정 조건을 충족했을 때 보상을 알리는 경우:
msg = show_message_async("보상을 받으셨습니다!");
- 게임 시작 시 튜토리얼 메시지를 표시하는 경우:
msg = show_message_async("게임을 시작합니다. 준비되셨나요?");
- 사용자에게 업데이트 알림을 표시하는 경우:
msg = show_message_async("새로운 업데이트가 있습니다. 확인하시겠습니까?");
이와 같이 show_message_async
함수를 활용하여 다양한 사용자 인터페이스를 구현할 수 있습니다.