暂停模式基本使用
要设置暂停模式,必须设置暂停状态。 这是通过为 :参考:场景树.暂停<类_场景树_属性_暂停>
成员变量赋予“真”值来完成的:
get_tree().paused = true
这样做会产生以下行为:
2D和3D物理将被停止。
将不再在节点中调用“_”和“_物理_处理”函数。
“_输入”和“_输入_事件”也不再被调用。
这有效地阻止了整个游戏。 默认情况下,从脚本调用此函数将导致不可恢复的状态(游戏永久暂停!)。
白名单节点
在启用暂停之前,请确保在暂停期间必须继续工作的节点已列入白名单。 这是通过编辑节点中的暂停模式
属性来完成的:
默认情况下,所有节点的此属性都是继承
状态。 这意味着,它们只会处理(或不处理),具体取决于父节点上设置的相同属性。 如果父项设置为继承
,则将检查祖父项,依此类推。 最终,如果在任何祖父中找不到状态,则使用SceneTree中的暂停状态。 这意味着,默认情况下,当游戏暂停时,每个节点都将暂停。
节点的三种可能状态有:
- 继承(inherit) : 进程取决于父,祖父节点等的状态。具有非继承状态的第一个父节点。
- 停止(stop): 无论什么情况下,停止节点(以及继承模式下的子节点)。 当暂停时,此节点将不会被放入进程。
- 进程(process): 无论什么情况下, 处理节点(以及继承模式下的子节点)。 无论暂停或不暂停, 此节点仍会在进程中。