show_message_async

此函数打开一个窗口并向用户显示您在函数中定义的消息。 这是一个异步函数,因此 GameMaker 在等待答案时不会阻止运行它的设备,而是继续正常运行事件。 用户按下“确定”按钮后,将触发一个异步 Dialog 事件,在该事件持续期间,变量中将存储一个 ds_map async_load

该映射将包含两个键,“id”和“status”,其中“id”是函数在调用时返回的值,“status”是“Okay”按钮的 true 被按下,或者如果消息被取消则为 false(如果可用,因为并非所有目标平台都允许取消对话)。

注意 此函数 仅供 调试和测试使用 ,不应在已发布的游戏中使用。为此,您应该创建一个自定义用户界面来接收玩家的输入,以便您可以完全控制对话框的外观和行为。

 

语法:

show_message_async(string);

参数类型描述
stringString要显示给用户的消息。

 

返回:

Async Request ID

 

扩展示例:

显示消息的对象的左鼠标按事件(例如)将具有以下代码:

msg = show_message_async("You will now be taken to the store");

上面的代码将显示具有给定字符串的消息。消息 id 存储在变量“ msg”中,并将在异步对话框事件中使用,如下所示:

var i_d, stat;
i_d = ds_map_find_value(async_load, "id");
if (i_d == msg)
{
    if (ds_map_find_value(async_load, "status"))
    {
        url_open("https://play.google.com/store");
    }
}

上述代码根据变量“msg”中存储的值检查返回的 DS Map 的“id”键。 如果它们相同,它会检查是否按下了“确定”按钮(而不是关闭/取消窗口),如果它返回 true,它会打开一个 url。