系统

System Event这个事件只能由来自系统级事件(如检测游戏手柄或自动登录Xbox Live)的回调触发,它将返回一个存储在变量async_load中的DS Map,根据触发回调的系统级事件,包含不同的键/值对。这些事件是

游戏手柄

当这个事件被触发时,游戏手柄被连接或断开,它将返回async_load地图中的以下键/值对之一。

这个事件现在允许你把所有的游戏手柄检查逻辑从Step事件或Alarm事件中移到系统事件中,并且只在实际需要时运行。

重要 除非你的游戏代码中至少有一个gamepad_* 函数或GML Visual action,否则该事件不会被触发。只有在项目中使用这些函数时,运行器才会初始化游戏手柄子系统,所以如果它们不存在,添加/删除游戏手柄将不会触发系统事件。

虚拟键盘

当这个事件被触发时,虚拟键盘被打开或关闭,它将在 async_load 映射中返回以下键/值对:

有关虚拟键盘的更多信息,请参阅虚拟按键和虚拟键盘

音频系统状态

这个事件类型是专门为使用 HTML5 目标时使用的,因为每次网络音频上下文状态改变时,它都会被触发。这意味着,如果你有,例如,一段循环的背景音乐,那么你可以根据这个事件的触发,暂停它或停止并重新启动它。这可以通过在 async_load 映射中寻找以下键 / 值对来检查:

如果这个事件类型被触发,那么在 async_load 地图中会有一个额外的键:

关于音频的具体功能的更多信息,请参阅音频

注意 虽然这个事件是为HTML5目标设计的,但它也会在所有其他平台上被触发,但在所有平台上(除了HTML5),它只会在游戏开始时在音频引擎第一次初始化时被触发一次。

杂项

移动目标(Android、iOS和tvOS)上,当应用程序被重新带入焦点时,会触发一个事件。它的 async_load 映射包含一个单一的键。