Timer

Inherits: Node < Object

倒数计时器。

描述

可以设置为重复或 “一次性” 模式。

注意:要创建一个一次性定时器而不需要实例化一个节点,请使用SceneTree.create_timer

教程

属性

bool

autostart

false

bool

one_shot

false

bool

paused

TimerProcessMode

process_mode

1

float

time_left

float

wait_time

1.0

方法

bool

is_stopped ( ) const

void

start ( float time_sec=-1 )

void

stop ( )

信号

  • timeout ( )

当计时器到 0 时发出。

枚举

enum TimerProcessMode:

  • TIMER_PROCESS_PHYSICS = 0 —- 在每一帧的物理运算步骤中更新定时器,即固定帧率处理。

  • TIMER_PROCESS_IDLE = 1 —- 在每一帧空闲时间内更新定时器。

属性说明

Default

false

Setter

set_autostart(value)

Getter

has_autostart()

如果true,定时器将在进入场景树时自动启动。

注意:在定时器进入场景树并启动后,该属性会自动设置为false


Default

false

Setter

set_one_shot(value)

Getter

is_one_shot()

如果true,定时器将在达到0时停止。 如果false,它将重新启动。


Setter

set_paused(value)

Getter

is_paused()

如果true,定时器会被暂停,并且不再处理,即使调用start,直到它被取消暂停。


Default

1

Setter

set_timer_process_mode(value)

Getter

get_timer_process_mode()

处理模式。参阅TimerProcessMode


Getter

get_time_left()

定时器的剩余时间,单位是秒。如果定时器处于非激活状态,则返回0。

注意: 你不能设置这个值。要改变定时器的剩余时间,请使用start


Default

1.0

Setter

set_wait_time(value)

Getter

get_wait_time()

等待的秒数。

注意: 计时器在一个渲染帧中最多只能触发一次(如果 process_modeTIMER_PROCESS_PHYSICS,则是在一个物理帧中最多一次)。也就是说,非常低的等待时间(小于 0.05 秒)会根据渲染帧率的不同而产生不同的行为。如果等待时间非常小,建议在脚本中使用 process 循环,不要用 Timer 节点。

方法说明

  • bool is_stopped ( ) const

如果定时器被停止,返回true


  • void start ( float time_sec=-1 )

启动定时器。如果time_sec>0,将wait_time设置为time_sec。这也会将剩余时间重置为wait_time

注意: 这个方法不会恢复一个暂停的定时器。参阅 paused


  • void stop ( )

停止定时器。