class_timer.rst 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  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. Properties
  14. ----------
  15. +------------------------------------------------------+--------------------------------------------------------+-----------+
  16. | :ref:`bool<class_bool>` | :ref:`autostart<class_Timer_property_autostart>` | ``false`` |
  17. +------------------------------------------------------+--------------------------------------------------------+-----------+
  18. | :ref:`bool<class_bool>` | :ref:`one_shot<class_Timer_property_one_shot>` | ``false`` |
  19. +------------------------------------------------------+--------------------------------------------------------+-----------+
  20. | :ref:`bool<class_bool>` | :ref:`paused<class_Timer_property_paused>` | |
  21. +------------------------------------------------------+--------------------------------------------------------+-----------+
  22. | :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>` | :ref:`process_mode<class_Timer_property_process_mode>` | ``1`` |
  23. +------------------------------------------------------+--------------------------------------------------------+-----------+
  24. | :ref:`float<class_float>` | :ref:`time_left<class_Timer_property_time_left>` | |
  25. +------------------------------------------------------+--------------------------------------------------------+-----------+
  26. | :ref:`float<class_float>` | :ref:`wait_time<class_Timer_property_wait_time>` | ``1.0`` |
  27. +------------------------------------------------------+--------------------------------------------------------+-----------+
  28. Methods
  29. -------
  30. +-------------------------+------------------------------------------------------------------------------------------+
  31. | :ref:`bool<class_bool>` | :ref:`is_stopped<class_Timer_method_is_stopped>` **(** **)** const |
  32. +-------------------------+------------------------------------------------------------------------------------------+
  33. | void | :ref:`start<class_Timer_method_start>` **(** :ref:`float<class_float>` time_sec=-1 **)** |
  34. +-------------------------+------------------------------------------------------------------------------------------+
  35. | void | :ref:`stop<class_Timer_method_stop>` **(** **)** |
  36. +-------------------------+------------------------------------------------------------------------------------------+
  37. Signals
  38. -------
  39. .. _class_Timer_signal_timeout:
  40. - **timeout** **(** **)**
  41. Emitted when the timer reaches 0.
  42. Enumerations
  43. ------------
  44. .. _enum_Timer_TimerProcessMode:
  45. .. _class_Timer_constant_TIMER_PROCESS_PHYSICS:
  46. .. _class_Timer_constant_TIMER_PROCESS_IDLE:
  47. enum **TimerProcessMode**:
  48. - **TIMER_PROCESS_PHYSICS** = **0** --- Update the timer during the physics step at each frame (fixed framerate processing).
  49. - **TIMER_PROCESS_IDLE** = **1** --- Update the timer during the idle time at each frame.
  50. Property Descriptions
  51. ---------------------
  52. .. _class_Timer_property_autostart:
  53. - :ref:`bool<class_bool>` **autostart**
  54. +-----------+----------------------+
  55. | *Default* | ``false`` |
  56. +-----------+----------------------+
  57. | *Setter* | set_autostart(value) |
  58. +-----------+----------------------+
  59. | *Getter* | has_autostart() |
  60. +-----------+----------------------+
  61. If ``true``, the timer will automatically start when entering the scene tree.
  62. **Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts.
  63. ----
  64. .. _class_Timer_property_one_shot:
  65. - :ref:`bool<class_bool>` **one_shot**
  66. +-----------+---------------------+
  67. | *Default* | ``false`` |
  68. +-----------+---------------------+
  69. | *Setter* | set_one_shot(value) |
  70. +-----------+---------------------+
  71. | *Getter* | is_one_shot() |
  72. +-----------+---------------------+
  73. If ``true``, the timer will stop when reaching 0. If ``false``, it will restart.
  74. ----
  75. .. _class_Timer_property_paused:
  76. - :ref:`bool<class_bool>` **paused**
  77. +----------+-------------------+
  78. | *Setter* | set_paused(value) |
  79. +----------+-------------------+
  80. | *Getter* | is_paused() |
  81. +----------+-------------------+
  82. 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.
  83. ----
  84. .. _class_Timer_property_process_mode:
  85. - :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>` **process_mode**
  86. +-----------+-------------------------------+
  87. | *Default* | ``1`` |
  88. +-----------+-------------------------------+
  89. | *Setter* | set_timer_process_mode(value) |
  90. +-----------+-------------------------------+
  91. | *Getter* | get_timer_process_mode() |
  92. +-----------+-------------------------------+
  93. Processing mode. See :ref:`TimerProcessMode<enum_Timer_TimerProcessMode>`.
  94. ----
  95. .. _class_Timer_property_time_left:
  96. - :ref:`float<class_float>` **time_left**
  97. +----------+-----------------+
  98. | *Getter* | get_time_left() |
  99. +----------+-----------------+
  100. The timer's remaining time in seconds. Returns 0 if the timer is inactive.
  101. **Note:** You cannot set this value. To change the timer's remaining time, use :ref:`start<class_Timer_method_start>`.
  102. ----
  103. .. _class_Timer_property_wait_time:
  104. - :ref:`float<class_float>` **wait_time**
  105. +-----------+----------------------+
  106. | *Default* | ``1.0`` |
  107. +-----------+----------------------+
  108. | *Setter* | set_wait_time(value) |
  109. +-----------+----------------------+
  110. | *Getter* | get_wait_time() |
  111. +-----------+----------------------+
  112. Wait time in seconds.
  113. Method Descriptions
  114. -------------------
  115. .. _class_Timer_method_is_stopped:
  116. - :ref:`bool<class_bool>` **is_stopped** **(** **)** const
  117. Returns ``true`` if the timer is stopped.
  118. ----
  119. .. _class_Timer_method_start:
  120. - void **start** **(** :ref:`float<class_float>` time_sec=-1 **)**
  121. Starts the timer. Sets ``wait_time`` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to ``wait_time``.
  122. **Note:** this method will not resume a paused timer. See :ref:`paused<class_Timer_property_paused>`.
  123. ----
  124. .. _class_Timer_method_stop:
  125. - void **stop** **(** **)**
  126. Stops the timer.