class_timer.rst 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the Timer.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_Timer:
  6. Timer
  7. =====
  8. **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  9. A countdown timer.
  10. Description
  11. -----------
  12. Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or "one-shot" mode.
  13. **Note:** To create an one-shot timer without instantiating a node, use :ref:`SceneTree.create_timer<class_SceneTree_method_create_timer>`.
  14. Properties
  15. ----------
  16. +------------------------------------------------------+--------------------------------------------------------+-----------+
  17. | :ref:`bool<class_bool>` | :ref:`autostart<class_Timer_property_autostart>` | ``false`` |
  18. +------------------------------------------------------+--------------------------------------------------------+-----------+
  19. | :ref:`bool<class_bool>` | :ref:`one_shot<class_Timer_property_one_shot>` | ``false`` |
  20. +------------------------------------------------------+--------------------------------------------------------+-----------+
  21. | :ref:`bool<class_bool>` | :ref:`paused<class_Timer_property_paused>` | |
  22. +------------------------------------------------------+--------------------------------------------------------+-----------+
  23. | :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>` | :ref:`process_mode<class_Timer_property_process_mode>` | ``1`` |
  24. +------------------------------------------------------+--------------------------------------------------------+-----------+
  25. | :ref:`float<class_float>` | :ref:`time_left<class_Timer_property_time_left>` | |
  26. +------------------------------------------------------+--------------------------------------------------------+-----------+
  27. | :ref:`float<class_float>` | :ref:`wait_time<class_Timer_property_wait_time>` | ``1.0`` |
  28. +------------------------------------------------------+--------------------------------------------------------+-----------+
  29. Methods
  30. -------
  31. +-------------------------+------------------------------------------------------------------------------------------+
  32. | :ref:`bool<class_bool>` | :ref:`is_stopped<class_Timer_method_is_stopped>` **(** **)** |const| |
  33. +-------------------------+------------------------------------------------------------------------------------------+
  34. | void | :ref:`start<class_Timer_method_start>` **(** :ref:`float<class_float>` time_sec=-1 **)** |
  35. +-------------------------+------------------------------------------------------------------------------------------+
  36. | void | :ref:`stop<class_Timer_method_stop>` **(** **)** |
  37. +-------------------------+------------------------------------------------------------------------------------------+
  38. Signals
  39. -------
  40. .. _class_Timer_signal_timeout:
  41. - **timeout** **(** **)**
  42. Emitted when the timer reaches 0.
  43. Enumerations
  44. ------------
  45. .. _enum_Timer_TimerProcessMode:
  46. .. _class_Timer_constant_TIMER_PROCESS_PHYSICS:
  47. .. _class_Timer_constant_TIMER_PROCESS_IDLE:
  48. enum **TimerProcessMode**:
  49. - **TIMER_PROCESS_PHYSICS** = **0** --- Update the timer during the physics step at each frame (fixed framerate processing).
  50. - **TIMER_PROCESS_IDLE** = **1** --- Update the timer during the idle time at each frame.
  51. Property Descriptions
  52. ---------------------
  53. .. _class_Timer_property_autostart:
  54. - :ref:`bool<class_bool>` **autostart**
  55. +-----------+----------------------+
  56. | *Default* | ``false`` |
  57. +-----------+----------------------+
  58. | *Setter* | set_autostart(value) |
  59. +-----------+----------------------+
  60. | *Getter* | has_autostart() |
  61. +-----------+----------------------+
  62. If ``true``, the timer will automatically start when entering the scene tree.
  63. **Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts.
  64. ----
  65. .. _class_Timer_property_one_shot:
  66. - :ref:`bool<class_bool>` **one_shot**
  67. +-----------+---------------------+
  68. | *Default* | ``false`` |
  69. +-----------+---------------------+
  70. | *Setter* | set_one_shot(value) |
  71. +-----------+---------------------+
  72. | *Getter* | is_one_shot() |
  73. +-----------+---------------------+
  74. If ``true``, the timer will stop when reaching 0. If ``false``, it will restart.
  75. ----
  76. .. _class_Timer_property_paused:
  77. - :ref:`bool<class_bool>` **paused**
  78. +----------+-------------------+
  79. | *Setter* | set_paused(value) |
  80. +----------+-------------------+
  81. | *Getter* | is_paused() |
  82. +----------+-------------------+
  83. 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.
  84. ----
  85. .. _class_Timer_property_process_mode:
  86. - :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>` **process_mode**
  87. +-----------+-------------------------------+
  88. | *Default* | ``1`` |
  89. +-----------+-------------------------------+
  90. | *Setter* | set_timer_process_mode(value) |
  91. +-----------+-------------------------------+
  92. | *Getter* | get_timer_process_mode() |
  93. +-----------+-------------------------------+
  94. Processing mode. See :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>`.
  95. ----
  96. .. _class_Timer_property_time_left:
  97. - :ref:`float<class_float>` **time_left**
  98. +----------+-----------------+
  99. | *Getter* | get_time_left() |
  100. +----------+-----------------+
  101. The timer's remaining time in seconds. Returns 0 if the timer is inactive.
  102. **Note:** You cannot set this value. To change the timer's remaining time, use :ref:`start<class_Timer_method_start>`.
  103. ----
  104. .. _class_Timer_property_wait_time:
  105. - :ref:`float<class_float>` **wait_time**
  106. +-----------+----------------------+
  107. | *Default* | ``1.0`` |
  108. +-----------+----------------------+
  109. | *Setter* | set_wait_time(value) |
  110. +-----------+----------------------+
  111. | *Getter* | get_wait_time() |
  112. +-----------+----------------------+
  113. Wait time in seconds.
  114. Method Descriptions
  115. -------------------
  116. .. _class_Timer_method_is_stopped:
  117. - :ref:`bool<class_bool>` **is_stopped** **(** **)** |const|
  118. Returns ``true`` if the timer is stopped.
  119. ----
  120. .. _class_Timer_method_start:
  121. - void **start** **(** :ref:`float<class_float>` time_sec=-1 **)**
  122. Starts the timer. Sets ``wait_time`` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to ``wait_time``.
  123. **Note:** this method will not resume a paused timer. See :ref:`paused<class_Timer_property_paused>`.
  124. ----
  125. .. _class_Timer_method_stop:
  126. - void **stop** **(** **)**
  127. Stops the timer.
  128. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  129. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  130. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`