Files
godot-docs/classes/class_timer.rst
2021-08-03 10:43:59 +02:00

205 lines
7.2 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Timer.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Timer:
Timer
=====
**Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
A countdown timer.
Description
-----------
Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or "one-shot" mode.
**Note:** To create a one-shot timer without instantiating a node, use :ref:`SceneTree.create_timer<class_SceneTree_method_create_timer>`.
Tutorials
---------
- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`_
Properties
----------
+------------------------------------------------------+--------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`autostart<class_Timer_property_autostart>` | ``false`` |
+------------------------------------------------------+--------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`one_shot<class_Timer_property_one_shot>` | ``false`` |
+------------------------------------------------------+--------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`paused<class_Timer_property_paused>` | |
+------------------------------------------------------+--------------------------------------------------------+-----------+
| :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>` | :ref:`process_mode<class_Timer_property_process_mode>` | ``1`` |
+------------------------------------------------------+--------------------------------------------------------+-----------+
| :ref:`float<class_float>` | :ref:`time_left<class_Timer_property_time_left>` | |
+------------------------------------------------------+--------------------------------------------------------+-----------+
| :ref:`float<class_float>` | :ref:`wait_time<class_Timer_property_wait_time>` | ``1.0`` |
+------------------------------------------------------+--------------------------------------------------------+-----------+
Methods
-------
+-------------------------+------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_stopped<class_Timer_method_is_stopped>` **(** **)** |const| |
+-------------------------+------------------------------------------------------------------------------------------+
| void | :ref:`start<class_Timer_method_start>` **(** :ref:`float<class_float>` time_sec=-1 **)** |
+-------------------------+------------------------------------------------------------------------------------------+
| void | :ref:`stop<class_Timer_method_stop>` **(** **)** |
+-------------------------+------------------------------------------------------------------------------------------+
Signals
-------
.. _class_Timer_signal_timeout:
- **timeout** **(** **)**
Emitted when the timer reaches 0.
Enumerations
------------
.. _enum_Timer_TimerProcessMode:
.. _class_Timer_constant_TIMER_PROCESS_PHYSICS:
.. _class_Timer_constant_TIMER_PROCESS_IDLE:
enum **TimerProcessMode**:
- **TIMER_PROCESS_PHYSICS** = **0** --- Update the timer during the physics step at each frame (fixed framerate processing).
- **TIMER_PROCESS_IDLE** = **1** --- Update the timer during the idle time at each frame.
Property Descriptions
---------------------
.. _class_Timer_property_autostart:
- :ref:`bool<class_bool>` **autostart**
+-----------+----------------------+
| *Default* | ``false`` |
+-----------+----------------------+
| *Setter* | set_autostart(value) |
+-----------+----------------------+
| *Getter* | has_autostart() |
+-----------+----------------------+
If ``true``, the timer will automatically start when entering the scene tree.
**Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts.
----
.. _class_Timer_property_one_shot:
- :ref:`bool<class_bool>` **one_shot**
+-----------+---------------------+
| *Default* | ``false`` |
+-----------+---------------------+
| *Setter* | set_one_shot(value) |
+-----------+---------------------+
| *Getter* | is_one_shot() |
+-----------+---------------------+
If ``true``, the timer will stop when reaching 0. If ``false``, it will restart.
----
.. _class_Timer_property_paused:
- :ref:`bool<class_bool>` **paused**
+----------+-------------------+
| *Setter* | set_paused(value) |
+----------+-------------------+
| *Getter* | is_paused() |
+----------+-------------------+
If ``true``, the timer is paused and will not process until it is unpaused again, even if :ref:`start<class_Timer_method_start>` is called.
----
.. _class_Timer_property_process_mode:
- :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>` **process_mode**
+-----------+-------------------------------+
| *Default* | ``1`` |
+-----------+-------------------------------+
| *Setter* | set_timer_process_mode(value) |
+-----------+-------------------------------+
| *Getter* | get_timer_process_mode() |
+-----------+-------------------------------+
Processing mode. See :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>`.
----
.. _class_Timer_property_time_left:
- :ref:`float<class_float>` **time_left**
+----------+-----------------+
| *Getter* | get_time_left() |
+----------+-----------------+
The timer's remaining time in seconds. Returns 0 if the timer is inactive.
**Note:** You cannot set this value. To change the timer's remaining time, use :ref:`start<class_Timer_method_start>`.
----
.. _class_Timer_property_wait_time:
- :ref:`float<class_float>` **wait_time**
+-----------+----------------------+
| *Default* | ``1.0`` |
+-----------+----------------------+
| *Setter* | set_wait_time(value) |
+-----------+----------------------+
| *Getter* | get_wait_time() |
+-----------+----------------------+
Wait time in seconds.
Method Descriptions
-------------------
.. _class_Timer_method_is_stopped:
- :ref:`bool<class_bool>` **is_stopped** **(** **)** |const|
Returns ``true`` if the timer is stopped.
----
.. _class_Timer_method_start:
- void **start** **(** :ref:`float<class_float>` time_sec=-1 **)**
Starts the timer. Sets ``wait_time`` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to ``wait_time``.
**Note:** this method will not resume a paused timer. See :ref:`paused<class_Timer_property_paused>`.
----
.. _class_Timer_method_stop:
- void **stop** **(** **)**
Stops the timer.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`