class_animationplayer.rst 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_AnimationPlayer:
  4. AnimationPlayer
  5. ===============
  6. **Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
  7. **Category:** Core
  8. Brief Description
  9. -----------------
  10. Container and player of :ref:`Animation<class_animation>` resources.
  11. Member Functions
  12. ----------------
  13. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  14. | :ref:`int<class_int>` | :ref:`add_animation<class_AnimationPlayer_add_animation>` **(** :ref:`String<class_string>` name, :ref:`Animation<class_animation>` animation **)** |
  15. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  16. | void | :ref:`remove_animation<class_AnimationPlayer_remove_animation>` **(** :ref:`String<class_string>` name **)** |
  17. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | void | :ref:`rename_animation<class_AnimationPlayer_rename_animation>` **(** :ref:`String<class_string>` name, :ref:`String<class_string>` newname **)** |
  19. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`bool<class_bool>` | :ref:`has_animation<class_AnimationPlayer_has_animation>` **(** :ref:`String<class_string>` name **)** const |
  21. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | :ref:`Animation<class_animation>` | :ref:`get_animation<class_AnimationPlayer_get_animation>` **(** :ref:`String<class_string>` name **)** const |
  23. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | :ref:`StringArray<class_stringarray>` | :ref:`get_animation_list<class_AnimationPlayer_get_animation_list>` **(** **)** const |
  25. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | void | :ref:`animation_set_next<class_AnimationPlayer_animation_set_next>` **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to **)** |
  27. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`String<class_string>` | :ref:`animation_get_next<class_AnimationPlayer_animation_get_next>` **(** :ref:`String<class_string>` anim_from **)** const |
  29. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | void | :ref:`set_blend_time<class_AnimationPlayer_set_blend_time>` **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to, :ref:`float<class_float>` sec **)** |
  31. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`float<class_float>` | :ref:`get_blend_time<class_AnimationPlayer_get_blend_time>` **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to **)** const |
  33. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | void | :ref:`set_default_blend_time<class_AnimationPlayer_set_default_blend_time>` **(** :ref:`float<class_float>` sec **)** |
  35. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`get_default_blend_time<class_AnimationPlayer_get_default_blend_time>` **(** **)** const |
  37. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | void | :ref:`play<class_AnimationPlayer_play>` **(** :ref:`String<class_string>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1, :ref:`bool<class_bool>` from_end=false **)** |
  39. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | void | :ref:`play_backwards<class_AnimationPlayer_play_backwards>` **(** :ref:`String<class_string>` name="", :ref:`float<class_float>` custom_blend=-1 **)** |
  41. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | void | :ref:`stop<class_AnimationPlayer_stop>` **(** :ref:`bool<class_bool>` reset=true **)** |
  43. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | void | :ref:`stop_all<class_AnimationPlayer_stop_all>` **(** **)** |
  45. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`bool<class_bool>` | :ref:`is_playing<class_AnimationPlayer_is_playing>` **(** **)** const |
  47. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | void | :ref:`set_current_animation<class_AnimationPlayer_set_current_animation>` **(** :ref:`String<class_string>` anim **)** |
  49. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`String<class_string>` | :ref:`get_current_animation<class_AnimationPlayer_get_current_animation>` **(** **)** const |
  51. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | void | :ref:`queue<class_AnimationPlayer_queue>` **(** :ref:`String<class_string>` name **)** |
  53. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | void | :ref:`clear_queue<class_AnimationPlayer_clear_queue>` **(** **)** |
  55. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | void | :ref:`set_active<class_AnimationPlayer_set_active>` **(** :ref:`bool<class_bool>` active **)** |
  57. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`bool<class_bool>` | :ref:`is_active<class_AnimationPlayer_is_active>` **(** **)** const |
  59. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | void | :ref:`set_speed<class_AnimationPlayer_set_speed>` **(** :ref:`float<class_float>` speed **)** |
  61. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`float<class_float>` | :ref:`get_speed<class_AnimationPlayer_get_speed>` **(** **)** const |
  63. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | void | :ref:`set_autoplay<class_AnimationPlayer_set_autoplay>` **(** :ref:`String<class_string>` name **)** |
  65. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`String<class_string>` | :ref:`get_autoplay<class_AnimationPlayer_get_autoplay>` **(** **)** const |
  67. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | void | :ref:`set_root<class_AnimationPlayer_set_root>` **(** :ref:`NodePath<class_nodepath>` path **)** |
  69. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`NodePath<class_nodepath>` | :ref:`get_root<class_AnimationPlayer_get_root>` **(** **)** const |
  71. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | void | :ref:`seek<class_AnimationPlayer_seek>` **(** :ref:`float<class_float>` pos_sec, :ref:`bool<class_bool>` update=false **)** |
  73. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | :ref:`float<class_float>` | :ref:`get_pos<class_AnimationPlayer_get_pos>` **(** **)** const |
  75. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | :ref:`String<class_string>` | :ref:`find_animation<class_AnimationPlayer_find_animation>` **(** :ref:`Animation<class_animation>` animation **)** const |
  77. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | void | :ref:`clear_caches<class_AnimationPlayer_clear_caches>` **(** **)** |
  79. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | void | :ref:`set_animation_process_mode<class_AnimationPlayer_set_animation_process_mode>` **(** :ref:`int<class_int>` mode **)** |
  81. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | :ref:`int<class_int>` | :ref:`get_animation_process_mode<class_AnimationPlayer_get_animation_process_mode>` **(** **)** const |
  83. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | :ref:`float<class_float>` | :ref:`get_current_animation_pos<class_AnimationPlayer_get_current_animation_pos>` **(** **)** const |
  85. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | :ref:`float<class_float>` | :ref:`get_current_animation_length<class_AnimationPlayer_get_current_animation_length>` **(** **)** const |
  87. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | void | :ref:`advance<class_AnimationPlayer_advance>` **(** :ref:`float<class_float>` delta **)** |
  89. +----------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. Signals
  91. -------
  92. - **animation_changed** **(** :ref:`String<class_string>` old_name, :ref:`String<class_string>` new_name **)**
  93. - **finished** **(** **)**
  94. Numeric Constants
  95. -----------------
  96. - **ANIMATION_PROCESS_FIXED** = **0** --- Process animation on fixed process. This is specially useful when animating kinematic bodies.
  97. - **ANIMATION_PROCESS_IDLE** = **1** --- Process animation on idle process.
  98. Description
  99. -----------
  100. An animation player is used for general purpose playback of :ref:`Animation<class_animation>` resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
  101. Member Function Description
  102. ---------------------------
  103. .. _class_AnimationPlayer_add_animation:
  104. - :ref:`int<class_int>` **add_animation** **(** :ref:`String<class_string>` name, :ref:`Animation<class_animation>` animation **)**
  105. Add an animation resource to the player, which will be later referenced by the "name" argument.
  106. .. _class_AnimationPlayer_remove_animation:
  107. - void **remove_animation** **(** :ref:`String<class_string>` name **)**
  108. Remove an animation from the player (by supplying the same name used to add it).
  109. .. _class_AnimationPlayer_rename_animation:
  110. - void **rename_animation** **(** :ref:`String<class_string>` name, :ref:`String<class_string>` newname **)**
  111. Rename an existing animation.
  112. .. _class_AnimationPlayer_has_animation:
  113. - :ref:`bool<class_bool>` **has_animation** **(** :ref:`String<class_string>` name **)** const
  114. Request whether an :ref:`Animation<class_animation>` name exist within the player.
  115. .. _class_AnimationPlayer_get_animation:
  116. - :ref:`Animation<class_animation>` **get_animation** **(** :ref:`String<class_string>` name **)** const
  117. Get an :ref:`Animation<class_animation>` resource by requesting a name.
  118. .. _class_AnimationPlayer_get_animation_list:
  119. - :ref:`StringArray<class_stringarray>` **get_animation_list** **(** **)** const
  120. Get the list of names of the animations stored in the player.
  121. .. _class_AnimationPlayer_animation_set_next:
  122. - void **animation_set_next** **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to **)**
  123. .. _class_AnimationPlayer_animation_get_next:
  124. - :ref:`String<class_string>` **animation_get_next** **(** :ref:`String<class_string>` anim_from **)** const
  125. .. _class_AnimationPlayer_set_blend_time:
  126. - void **set_blend_time** **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to, :ref:`float<class_float>` sec **)**
  127. Specify a blend time (in seconds) between two animations, referenced by their names.
  128. .. _class_AnimationPlayer_get_blend_time:
  129. - :ref:`float<class_float>` **get_blend_time** **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to **)** const
  130. Get the blend time between two animations, referenced by their names.
  131. .. _class_AnimationPlayer_set_default_blend_time:
  132. - void **set_default_blend_time** **(** :ref:`float<class_float>` sec **)**
  133. Set the default blend time between animations.
  134. .. _class_AnimationPlayer_get_default_blend_time:
  135. - :ref:`float<class_float>` **get_default_blend_time** **(** **)** const
  136. Return the default blend time between animations.
  137. .. _class_AnimationPlayer_play:
  138. - void **play** **(** :ref:`String<class_string>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1, :ref:`bool<class_bool>` from_end=false **)**
  139. Play a given animation by the animation name. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being true can play the animation backwards.
  140. .. _class_AnimationPlayer_play_backwards:
  141. - void **play_backwards** **(** :ref:`String<class_string>` name="", :ref:`float<class_float>` custom_blend=-1 **)**
  142. Play a given animation by the animation name in reverse.
  143. .. _class_AnimationPlayer_stop:
  144. - void **stop** **(** :ref:`bool<class_bool>` reset=true **)**
  145. Stop the currently playing animation.
  146. .. _class_AnimationPlayer_stop_all:
  147. - void **stop_all** **(** **)**
  148. Stop playback of animations (deprecated).
  149. .. _class_AnimationPlayer_is_playing:
  150. - :ref:`bool<class_bool>` **is_playing** **(** **)** const
  151. Return whether an animation is playing.
  152. .. _class_AnimationPlayer_set_current_animation:
  153. - void **set_current_animation** **(** :ref:`String<class_string>` anim **)**
  154. Set the current animation (even if no playback occurs). Using set_current_animation() and set_active() are similar to calling play().
  155. .. _class_AnimationPlayer_get_current_animation:
  156. - :ref:`String<class_string>` **get_current_animation** **(** **)** const
  157. Return the name of the animation being played.
  158. .. _class_AnimationPlayer_queue:
  159. - void **queue** **(** :ref:`String<class_string>` name **)**
  160. Queue an animation for playback once the current one is done.
  161. .. _class_AnimationPlayer_clear_queue:
  162. - void **clear_queue** **(** **)**
  163. If animations are queued to play, clear them.
  164. .. _class_AnimationPlayer_set_active:
  165. - void **set_active** **(** :ref:`bool<class_bool>` active **)**
  166. Set the player as active (playing). If false, it
  167. will do nothing.
  168. .. _class_AnimationPlayer_is_active:
  169. - :ref:`bool<class_bool>` **is_active** **(** **)** const
  170. Return true if the player is active.
  171. .. _class_AnimationPlayer_set_speed:
  172. - void **set_speed** **(** :ref:`float<class_float>` speed **)**
  173. Set a speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default ratio is *1* (no scaling).
  174. .. _class_AnimationPlayer_get_speed:
  175. - :ref:`float<class_float>` **get_speed** **(** **)** const
  176. Get the speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default ratio is *1* (no scaling).
  177. .. _class_AnimationPlayer_set_autoplay:
  178. - void **set_autoplay** **(** :ref:`String<class_string>` name **)**
  179. Set the name of the animation that will be automatically played when the scene is loaded.
  180. .. _class_AnimationPlayer_get_autoplay:
  181. - :ref:`String<class_string>` **get_autoplay** **(** **)** const
  182. Return the name of the animation that will be automatically played when the scene is loaded.
  183. .. _class_AnimationPlayer_set_root:
  184. - void **set_root** **(** :ref:`NodePath<class_nodepath>` path **)**
  185. AnimationPlayer resolves animation track paths from this node (which is relative to itself), by default root is "..", but it can be changed.
  186. .. _class_AnimationPlayer_get_root:
  187. - :ref:`NodePath<class_nodepath>` **get_root** **(** **)** const
  188. Return path to root node (see :ref:`set_root<class_AnimationPlayer_set_root>`).
  189. .. _class_AnimationPlayer_seek:
  190. - void **seek** **(** :ref:`float<class_float>` pos_sec, :ref:`bool<class_bool>` update=false **)**
  191. Seek the animation to a given position in time (in seconds). If 'update' is true, the animation will be updated too, otherwise it will be updated at process time.
  192. .. _class_AnimationPlayer_get_pos:
  193. - :ref:`float<class_float>` **get_pos** **(** **)** const
  194. Return the playback position (in seconds) in an animation channel (or channel 0 if none is provided).
  195. .. _class_AnimationPlayer_find_animation:
  196. - :ref:`String<class_string>` **find_animation** **(** :ref:`Animation<class_animation>` animation **)** const
  197. Find an animation name by resource.
  198. .. _class_AnimationPlayer_clear_caches:
  199. - void **clear_caches** **(** **)**
  200. The animation player creates caches for faster access to the nodes it will animate. However, if a specific node is removed, it may not notice it, so clear_caches will force the player to search for the nodes again.
  201. .. _class_AnimationPlayer_set_animation_process_mode:
  202. - void **set_animation_process_mode** **(** :ref:`int<class_int>` mode **)**
  203. Set the mode in which the animation player processes. By default, it processes on idle time (framerate dependent), but using fixed time works well for animating static collision bodies in 2D and 3D. See enum ANIMATION_PROCESS\_\*.
  204. .. _class_AnimationPlayer_get_animation_process_mode:
  205. - :ref:`int<class_int>` **get_animation_process_mode** **(** **)** const
  206. Return the mode in which the animation player processes. See :ref:`set_animation_process_mode<class_AnimationPlayer_set_animation_process_mode>`.
  207. .. _class_AnimationPlayer_get_current_animation_pos:
  208. - :ref:`float<class_float>` **get_current_animation_pos** **(** **)** const
  209. Get the position (in seconds) of the currently being played animation.
  210. .. _class_AnimationPlayer_get_current_animation_length:
  211. - :ref:`float<class_float>` **get_current_animation_length** **(** **)** const
  212. Get the length (in seconds) of the currently being played animation.
  213. .. _class_AnimationPlayer_advance:
  214. - void **advance** **(** :ref:`float<class_float>` delta **)**
  215. Used to skip ahead or skip back in an animation. Delta is the time in seconds to skip.