SceneTreeTimer

继承: RefCounted < Object

一次性定时器。

描述

由场景树管理的一次性计时器,会在完成时发出 timeout。另见 SceneTree.create_timer

Timer 不同,它不需要实例化节点。常用于创建一次性的延迟计时器,如下面的例子所示:

GDScriptC#

  1. func some_function():
  2. print("计时开始。")
  3. await get_tree().create_timer(1.0).timeout
  4. print("计时结束。")
  1. public async Task SomeFunction()
  2. {
  3. GD.Print("计时开始。");
  4. await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName.Timeout);
  5. GD.Print("计时结束。");
  6. }

达到时间后,会释放对该计时器的引用。如果要保留该计时器,你可以保持对它的引用。见 RefCounted

注意:对计时器的处理发生在当前帧的所有节点节后,即节点的 Node._process 方法是在计时器之前调用的(如果 SceneTree.create_timerprocess_in_physicstrue则为 Node._physics_process)。

属性

float

time_left


信号

timeout() 🔗

当计时器到 0 时发出。


属性说明

float time_left 🔗

  • void set_time_left(value: float)

  • float get_time_left()

剩余时间(单位为秒)。