暂停模式基本使用

要设置暂停模式,必须设置暂停状态。 这是通过为 :参考:场景树.暂停<类_场景树_属性_暂停> 成员变量赋予“真”值来完成的:

get_tree().paused = true

这样做会产生以下行为:

2D和3D物理将被停止。
将不再在节点中调用“_”和“_物理_处理”函数。
“_输入”和“_输入_事件”也不再被调用。
这有效地阻止了整个游戏。 默认情况下,从脚本调用此函数将导致不可恢复的状态(游戏永久暂停!)。

白名单节点

在启用暂停之前,请确保在暂停期间必须继续工作的节点已列入白名单。 这是通过编辑节点中的暂停模式属性来完成的:

默认情况下,所有节点的此属性都是继承状态。 这意味着,它们只会处理(或不处理),具体取决于父节点上设置的相同属性。 如果父项设置为继承,则将检查祖父项,依此类推。 最终,如果在任何祖父中找不到状态,则使用SceneTree中的暂停状态。 这意味着,默认情况下,当游戏暂停时,每个节点都将暂停。

节点的三种可能状态有:

  • 继承(inherit) : 进程取决于父,祖父节点等的状态。具有非继承状态的第一个父节点。
  • 停止(stop): 无论什么情况下,停止节点(以及继承模式下的子节点)。 当暂停时,此节点将不会被放入进程。
  • 进程(process): 无论什么情况下, 处理节点(以及继承模式下的子节点)。 无论暂停或不暂停, 此节点仍会在进程中。
最后修改:2020 年 03 月 04 日
如果觉得我的文章对你有用,请随意赞赏