Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Timer¶
倒数计时器。
描述¶
使用指定的间隔进行倒计时,并在到达 0 时发出信号。可以设置为重复或“一次性”模式。
注意:计时器会受到 Engine.time_scale 的影响,缩放值越高超时越快,反之亦然。
注意:如果想要创建一次性定时器,不实例化节点,请使用 SceneTree.create_timer。
教程¶
属性¶
|
||
|
||
|
||
|
方法¶
is_stopped ( ) const |
|
void |
|
void |
stop ( ) |
信号¶
timeout ( )
当计时器到 0 时发出。
枚举¶
enum TimerProcessCallback:
TimerProcessCallback TIMER_PROCESS_PHYSICS = 0
计时器的更新发生在物理帧中(见 Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS)。
TimerProcessCallback TIMER_PROCESS_IDLE = 1
计时器的更新发生在处理帧中(见 Node.NOTIFICATION_INTERNAL_PROCESS)。
属性说明¶
bool autostart = false
如果为 true
,定时器将在进入场景树时自动启动。
注意:在定时器进入场景树并启动后,该属性会自动设置为 false
。
bool one_shot = false
如果为 true
,定时器将在达到 0 时停止。如果为 false
,它将重新启动。
bool paused
如果为 true
,定时器会被暂停,并且不再处理,即使调用 start,直到它被取消暂停。
TimerProcessCallback process_callback = 1
void set_timer_process_callback ( TimerProcessCallback value )
TimerProcessCallback get_timer_process_callback ( )
处理回调。见 TimerProcessCallback。
float time_left
float get_time_left ( )
计时器的剩余时间,单位是秒。如果定时器处于非激活状态,则返回 0。
注意:该值是只读的,无法设置。基于的是 wait_time,请使用 start 设置。
float wait_time = 1.0
等待时间,单位为秒。
注意:计时器在每个渲染帧最多只能发射一次(或者如果 process_callback 为 TIMER_PROCESS_PHYSICS,则是每个物理帧)。这意味着非常短的等待时间(低于 0.05 秒),将根据渲染的帧速率,会有明显不同的表现。对于非常短的等待时间,建议在脚本中使用一个 process 循环,而不是使用 Timer 节点。计时器会受 Engine.time_scale 的影响,缩放值越高意味着超时越快,反之亦然。
方法说明¶
bool is_stopped ( ) const
如果定时器被停止,返回 true
。
void start ( float time_sec=-1 )
启动计时器。如果 time_sec > 0
,则会将 wait_time 设置为 time_sec
。这也会将剩余时间重置为 wait_time。
注意:这个方法不会恢复已暂停的定时器。见 paused。
void stop ( )
停止计时器。