此函数用于执行GameMaker中提供的任一异步事件。 提供异步事件常量(如下表所示)和 DS 映射,该映射将在async_load变量中的被调用的异步事件中可用。
异步事件类型常量 | |
---|---|
常量 | 描述 |
ev_async_web_image_load | Image Loaded event |
ev_async_web | HTTP event |
ev_async_dialog | Dialog event |
ev_async_web_iap | In-App Purchase event |
ev_async_web_cloud | Cloud event |
ev_async_web_networking | Networking event |
ev_async_web_steam | Steam event |
ev_async_social | Social event |
ev_async_push_notification | Push Notification event |
ev_async_save_load | Save/Load Event |
ev_async_audio_recording | Audio Recording event |
ev_async_audio_playback | Audio Playback event |
ev_async_audio_playback_ended | Audio Playback Ended event |
ev_async_system_event | System event |
可以使用event_perform()调用异步事件。
请注意,在第二个参数中指定的DS map不必手动销毁,因为它将在执行异步事件后由函数自动销毁。
event_perform_async(type, ds_map);
参数 | 类型 | 描述 |
---|---|---|
type | 异步事件类型常量 | 要执行的事件类型(请参阅上表)。 |
ds_map | DS Map | DS 映射在被调用事件中使用 asasync_load。 |
N/A
var _map = ds_map_create();
_map[? "id"] = "custom_async_event";
_map[? "result"] = true;
_map[? "data"] = { a: 13, b: 16 };
event_perform_async(ev_async_social, _map);
上面的代码创建了一个DS map,并用要在异步事件中读取的自定义条目填充它。然后,它执行异步社交事件,并将新创建的映射作为被调用事件的async_load传入。