2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 12:33:56 +02:00
<class name= "AnimationPlayer" inherits= "Node" category= "Core" version= "3.2" >
2017-09-12 22:42:36 +02:00
<brief_description >
Container and player of [Animation] resources.
</brief_description>
<description >
An animation player is used for general purpose playback of [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.
</description>
<tutorials >
2018-11-05 08:46:27 +01:00
<link > https://docs.godotengine.org/en/latest/getting_started/step_by_step/animations.html</link>
<link > https://docs.godotengine.org/en/latest/tutorials/animation/index.html</link>
2017-09-12 22:42:36 +02:00
</tutorials>
<methods >
<method name= "add_animation" >
<return type= "int" enum= "Error" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<argument index= "1" name= "animation" type= "Animation" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Adds [code]animation[/code] to the player accessible with the key [code]name[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "advance" >
<return type= "void" >
</return>
<argument index= "0" name= "delta" type= "float" >
</argument>
<description >
2019-02-27 15:15:35 +01:00
Shifts position in the animation timeline. Delta is the time in seconds to shift. Events between the current frame and [code]delta[/code] are handled.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "animation_get_next" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "anim_from" type= "String" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Returns the name of the next animation in the queue.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "animation_set_next" >
<return type= "void" >
</return>
<argument index= "0" name= "anim_from" type= "String" >
</argument>
<argument index= "1" name= "anim_to" type= "String" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Triggers the [code]anim_to[/code] animation when the [code]anim_from[/code] animation completes.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "clear_caches" >
<return type= "void" >
</return>
<description >
2019-03-29 23:37:35 +01:00
[AnimationPlayer] caches animated nodes. It may not notice if a node disappears, so clear_caches forces it to update the cache again.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "clear_queue" >
<return type= "void" >
</return>
<description >
2017-12-05 05:13:52 +01:00
Clears all queued, unplayed animations.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "find_animation" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "animation" type= "Animation" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Returns the name of [code]animation[/code] or empty string if not found.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_animation" qualifiers= "const" >
<return type= "Animation" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Returns the [Animation] with key [code]name[/code] or [code]null[/code] if not found.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_animation_list" qualifiers= "const" >
<return type= "PoolStringArray" >
</return>
<description >
2017-12-05 05:13:52 +01:00
Returns the list of stored animation names.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_blend_time" qualifiers= "const" >
<return type= "float" >
</return>
<argument index= "0" name= "anim_from" type= "String" >
</argument>
<argument index= "1" name= "anim_to" type= "String" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Get the blend time (in seconds) between two animations, referenced by their names.
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-03-01 19:52:00 +01:00
<method name= "get_playing_speed" qualifiers= "const" >
<return type= "float" >
</return>
<description >
Get the actual playing speed of current animation or 0 if not playing. This speed is the [code]playback_speed[/code] property multiplied by [code]custom_speed[/code] argument specified when calling the [code]play[/code] method.
</description>
</method>
2018-12-04 21:57:07 +01:00
<method name= "get_queue" >
<return type= "PoolStringArray" >
</return>
<description >
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "has_animation" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<description >
2019-03-29 23:37:35 +01:00
Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with key [code]name[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_playing" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-12-05 05:13:52 +01:00
Returns [code]true[/code] if playing an animation.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "play" >
<return type= "void" >
</return>
<argument index= "0" name= "name" type= "String" default= """" >
</argument>
<argument index= "1" name= "custom_blend" type= "float" default= "-1" >
</argument>
<argument index= "2" name= "custom_speed" type= "float" default= "1.0" >
</argument>
<argument index= "3" name= "from_end" type= "bool" default= "false" >
</argument>
<description >
2019-04-17 13:42:56 +02:00
Play the animation with key [code]name[/code]. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being [code]true[/code] can play the animation backwards.
2019-02-13 18:40:22 +01:00
If the animation has been paused by [code]stop(true)[/code] it will be resumed. Calling [code]play()[/code] without arguments will also resume the animation.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "play_backwards" >
<return type= "void" >
</return>
<argument index= "0" name= "name" type= "String" default= """" >
</argument>
<argument index= "1" name= "custom_blend" type= "float" default= "-1" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Play the animation with key [code]name[/code] in reverse.
2019-02-13 18:40:22 +01:00
If the animation has been paused by [code]stop(true)[/code] it will be resumed backwards. Calling [code]play_backwards()[/code] without arguments will also resume the animation backwards.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "queue" >
<return type= "void" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<description >
Queue an animation for playback once the current one is done.
</description>
</method>
<method name= "remove_animation" >
<return type= "void" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Remove the animation with key [code]name[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "rename_animation" >
<return type= "void" >
</return>
<argument index= "0" name= "name" type= "String" >
</argument>
<argument index= "1" name= "newname" type= "String" >
</argument>
<description >
2017-12-05 05:13:52 +01:00
Rename an existing animation with key [code]name[/code] to [code]newname[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "seek" >
<return type= "void" >
</return>
2017-09-10 15:37:49 +02:00
<argument index= "0" name= "seconds" type= "float" >
2017-09-12 22:42:36 +02:00
</argument>
<argument index= "1" name= "update" type= "bool" default= "false" >
</argument>
<description >
2019-02-27 15:15:35 +01:00
Seek the animation to the [code]seconds[/code] point in time (in seconds). If [code]update[/code] is [code]true[/code], the animation updates too, otherwise it updates at process time. Events between the current frame and [code]seconds[/code] are skipped.
2017-12-14 00:07:39 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "set_blend_time" >
<return type= "void" >
</return>
<argument index= "0" name= "anim_from" type= "String" >
</argument>
<argument index= "1" name= "anim_to" type= "String" >
</argument>
<argument index= "2" name= "sec" type= "float" >
</argument>
<description >
Specify a blend time (in seconds) between two animations, referenced by their names.
</description>
</method>
2017-12-14 00:07:39 +01:00
<method name= "stop" >
<return type= "void" >
</return>
<argument index= "0" name= "reset" type= "bool" default= "true" >
</argument>
<description >
2019-02-13 18:40:22 +01:00
Stop the currently playing animation. If [code]reset[/code] is [code]true[/code], the animation position is reset to [code]0[/code] and the playback speed is reset to [code]1.0[/code].
If [code]reset[/code] is [code]false[/code], then calling [code]play()[/code] without arguments or [code]play("same_as_before")[/code] will resume the animation. Works the same for the [code]play_backwards()[/code] method.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<members >
2018-01-14 11:28:57 +01:00
<member name= "assigned_animation" type= "String" setter= "set_assigned_animation" getter= "get_assigned_animation" >
If playing, the current animation; otherwise, the animation last played. When set, would change the animation, but would not play it unless currently playing. See also [member current_animation].
</member>
2018-01-11 23:38:35 +01:00
<member name= "autoplay" type= "String" setter= "set_autoplay" getter= "get_autoplay" >
The name of the animation to play when the scene loads. Default value: [code]""[/code].
</member>
<member name= "current_animation" type= "String" setter= "set_current_animation" getter= "get_current_animation" >
The name of the current animation, "" if not playing anything. When being set, does not restart the animation. See also [method play]. Default value: [code]""[/code].
</member>
<member name= "current_animation_length" type= "float" setter= "" getter= "get_current_animation_length" >
The length (in seconds) of the currently being played animation.
</member>
<member name= "current_animation_position" type= "float" setter= "" getter= "get_current_animation_position" >
The position (in seconds) of the currently playing animation.
</member>
2018-12-08 19:56:20 +01:00
<member name= "method_call_mode" type= "int" setter= "set_method_call_mode" getter= "get_method_call_mode" enum= "AnimationPlayer.AnimationMethodCallMode" >
The call mode to use for Call Method tracks. Default value: [code]ANIMATION_METHOD_CALL_DEFERRED[/code].
</member>
2018-01-11 23:38:35 +01:00
<member name= "playback_active" type= "bool" setter= "set_active" getter= "is_active" >
If [code]true[/code], updates animations in response to process-related notifications. Default value: [code]true[/code].
</member>
2017-12-10 00:43:30 +01:00
<member name= "playback_default_blend_time" type= "float" setter= "set_default_blend_time" getter= "get_default_blend_time" >
2017-12-14 00:07:39 +01:00
The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision. Default value: [code]0[/code].
2017-12-10 00:43:30 +01:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "playback_process_mode" type= "int" setter= "set_animation_process_mode" getter= "get_animation_process_mode" enum= "AnimationPlayer.AnimationProcessMode" >
2018-10-31 13:01:54 +01:00
The process notification in which to update animations. Default value: [code]ANIMATION_PROCESS_IDLE[/code].
2017-09-12 22:42:36 +02:00
</member>
2018-01-11 23:38:35 +01:00
<member name= "playback_speed" type= "float" setter= "set_speed_scale" getter= "get_speed_scale" >
The speed scaling ratio. For instance, if this value is 1 then the animation plays at normal speed. If it's 0.5 then it plays at half speed. If it's 2 then it plays at double speed. Default value: [code]1[/code].
</member>
2017-09-13 08:49:40 +02:00
<member name= "root_node" type= "NodePath" setter= "set_root" getter= "get_root" >
2017-12-05 05:13:52 +01:00
The node from which node path references will travel. Default value: [code]".."[/code].
</member>
2017-09-12 22:42:36 +02:00
</members>
<signals >
<signal name= "animation_changed" >
<argument index= "0" name= "old_name" type= "String" >
</argument>
<argument index= "1" name= "new_name" type= "String" >
</argument>
<description >
2017-12-14 00:07:39 +01:00
If the currently being played animation changes, this signal will notify of such change.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "animation_finished" >
2018-01-13 11:43:30 +01:00
<argument index= "0" name= "anim_name" type= "String" >
2017-09-12 22:42:36 +02:00
</argument>
<description >
2017-12-14 00:07:39 +01:00
Notifies when an animation finished playing.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "animation_started" >
2018-01-13 11:43:30 +01:00
<argument index= "0" name= "anim_name" type= "String" >
2017-09-12 22:42:36 +02:00
</argument>
<description >
2017-12-14 00:07:39 +01:00
Notifies when an animation starts playing.
2017-09-12 22:42:36 +02:00
</description>
</signal>
2018-07-26 11:56:21 +02:00
<signal name= "caches_cleared" >
<description >
</description>
</signal>
2017-09-12 22:42:36 +02:00
</signals>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "ANIMATION_PROCESS_PHYSICS" value= "0" enum= "AnimationProcessMode" >
2017-11-01 00:47:07 +01:00
Process animation during the physics process. This is especially useful when animating physics bodies.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "ANIMATION_PROCESS_IDLE" value= "1" enum= "AnimationProcessMode" >
2017-10-11 23:54:43 +02:00
Process animation during the idle process.
2017-09-12 22:42:36 +02:00
</constant>
2018-08-02 09:22:24 +02:00
<constant name= "ANIMATION_PROCESS_MANUAL" value= "2" enum= "AnimationProcessMode" >
Do not process animation. Use the 'advance' method to process the animation manually.
</constant>
2018-12-08 19:56:20 +01:00
<constant name= "ANIMATION_METHOD_CALL_DEFERRED" value= "0" enum= "AnimationMethodCallMode" >
Batch method calls during the animation process, then do the calls after events are processed. This avoids bugs involving deleting nodes or modifying the AnimationPlayer while playing.
</constant>
<constant name= "ANIMATION_METHOD_CALL_IMMEDIATE" value= "1" enum= "AnimationMethodCallMode" >
Make method calls immediately when reached in the animation.
</constant>
2017-09-12 22:42:36 +02:00
</constants>
</class>