<?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationPlayer" inherits="Node" category="Core" version="3.2"> <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> <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> </tutorials> <demos> </demos> <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> Adds [code]animation[/code] to the player accessible with the key [code]name[/code]. </description> </method> <method name="advance"> <return type="void"> </return> <argument index="0" name="delta" type="float"> </argument> <description> 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. </description> </method> <method name="animation_get_next" qualifiers="const"> <return type="String"> </return> <argument index="0" name="anim_from" type="String"> </argument> <description> Returns the name of the next animation in the queue. </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> Triggers the [code]anim_to[/code] animation when the [code]anim_from[/code] animation completes. </description> </method> <method name="clear_caches"> <return type="void"> </return> <description> [AnimationPlayer] caches animated nodes. It may not notice if a node disappears, so clear_caches forces it to update the cache again. </description> </method> <method name="clear_queue"> <return type="void"> </return> <description> Clears all queued, unplayed animations. </description> </method> <method name="find_animation" qualifiers="const"> <return type="String"> </return> <argument index="0" name="animation" type="Animation"> </argument> <description> Returns the name of [code]animation[/code] or empty string if not found. </description> </method> <method name="get_animation" qualifiers="const"> <return type="Animation"> </return> <argument index="0" name="name" type="String"> </argument> <description> Returns the [Animation] with key [code]name[/code] or [code]null[/code] if not found. </description> </method> <method name="get_animation_list" qualifiers="const"> <return type="PoolStringArray"> </return> <description> Returns the list of stored animation names. </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> Get the blend time (in seconds) between two animations, referenced by their names. </description> </method> <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> <method name="get_queue"> <return type="PoolStringArray"> </return> <description> </description> </method> <method name="has_animation" qualifiers="const"> <return type="bool"> </return> <argument index="0" name="name" type="String"> </argument> <description> Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with key [code]name[/code]. </description> </method> <method name="is_playing" qualifiers="const"> <return type="bool"> </return> <description> Returns [code]true[/code] if playing an animation. </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> 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 true can play the animation backwards. 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. </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> Play the animation with key [code]name[/code] in reverse. 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. </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> Remove the animation with key [code]name[/code]. </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> Rename an existing animation with key [code]name[/code] to [code]newname[/code]. </description> </method> <method name="seek"> <return type="void"> </return> <argument index="0" name="seconds" type="float"> </argument> <argument index="1" name="update" type="bool" default="false"> </argument> <description> 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. </description> </method> <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> <method name="stop"> <return type="void"> </return> <argument index="0" name="reset" type="bool" default="true"> </argument> <description> 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. </description> </method> </methods> <members> <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> <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> <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> <member name="playback_default_blend_time" type="float" setter="set_default_blend_time" getter="get_default_blend_time"> The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision. Default value: [code]0[/code]. </member> <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationPlayer.AnimationProcessMode"> The process notification in which to update animations. Default value: [code]ANIMATION_PROCESS_IDLE[/code]. </member> <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> <member name="root_node" type="NodePath" setter="set_root" getter="get_root"> The node from which node path references will travel. Default value: [code]".."[/code]. </member> </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> If the currently being played animation changes, this signal will notify of such change. </description> </signal> <signal name="animation_finished"> <argument index="0" name="anim_name" type="String"> </argument> <description> Notifies when an animation finished playing. </description> </signal> <signal name="animation_started"> <argument index="0" name="anim_name" type="String"> </argument> <description> Notifies when an animation starts playing. </description> </signal> <signal name="caches_cleared"> <description> </description> </signal> </signals> <constants> <constant name="ANIMATION_PROCESS_PHYSICS" value="0" enum="AnimationProcessMode"> Process animation during the physics process. This is especially useful when animating physics bodies. </constant> <constant name="ANIMATION_PROCESS_IDLE" value="1" enum="AnimationProcessMode"> Process animation during the idle process. </constant> <constant name="ANIMATION_PROCESS_MANUAL" value="2" enum="AnimationProcessMode"> Do not process animation. Use the 'advance' method to process the animation manually. </constant> </constants> </class>