os_is_paused

在为移动设备开发时,您需要有一种方法来检查设备是否仍然专注于您的游戏,尤其是如果您的游戏在iOS、Android或Windows Phone设备上,那么它可能会被电话和其他应用程序打断。您可以使用此函数检查设备是否暂停。

值得注意的是,此函数将在设备上运行代码块中包含的任何代码,但随后GameMaker将立即暂停,因为设备将游戏缓存为后台进程。因此,如果您有类似于下面提供的示例代码,则在游戏从缓存状态重新启动之前,要创建的实例将不会实际出现或运行其任何事件。这意味着您可能更喜欢让 os_is_paused 函数调用警报,然后在警报事件中(当设备暂停时设置,但直到取消暂停才运行)创建暂停菜单,重新启动音乐等。

如果您在Windows、Ubuntu(Linux)、MacOS或HTML5平台上使用此函数,则当游戏失去焦点时,该函数仅切换一步true,然后它将再次返回false,直到游戏返回焦点(并再次失去焦点)。这是因为这些平台不会缓存应用程序和游戏,因此这些应用程序和游戏将继续在后台运行。

注意:在移动设备上,当操作系统暂停时,声音和音乐将会停止。除非您特别使用适当的函数启动它们,否则它们将不会再次重新启动。

 

语法:

os_is_paused()

 

返回:

Boolean

 

例子:

if (os_is_paused())
{
    if (!instance_exists(obj_PauseMenu))
    {
        instance_create_layer(0, 0, "Controllers", obj_PauseMenu);
    }
}

上面的代码检查游戏是否已暂停,如果已暂停,则创建对象" obj_pausemenu "的实例(如果不存在)。