<?xml version="1.0" encoding="UTF-8" ?> <class name="AnimatedSprite3D" inherits="SpriteBase3D" version="4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> 2D sprite node in 3D world, that can use multiple 2D textures for animation. </brief_description> <description> [AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries multiple textures as animation [member sprite_frames]. Animations are created using a [SpriteFrames] resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The [SpriteFrames] resource can be configured in the editor via the SpriteFrames bottom panel. </description> <tutorials> <link title="2D Sprite animation (also applies to 3D)">$DOCS_URL/tutorials/2d/2d_sprite_animation.html</link> </tutorials> <methods> <method name="get_playing_speed" qualifiers="const"> <return type="float" /> <description> Returns the actual playing speed of current animation or [code]0[/code] if not playing. This speed is the [member speed_scale] property multiplied by [code]custom_speed[/code] argument specified when calling the [method play] method. Returns a negative value if the current animation is playing backwards. </description> </method> <method name="is_playing" qualifiers="const"> <return type="bool" /> <description> Returns [code]true[/code] if an animation is currently playing (even if [member speed_scale] and/or [code]custom_speed[/code] are [code]0[/code]). </description> </method> <method name="pause"> <return type="void" /> <description> Pauses the currently playing animation. The [member frame] and [member frame_progress] will be kept and calling [method play] or [method play_backwards] without arguments will resume the animation from the current playback position. See also [method stop]. </description> </method> <method name="play"> <return type="void" /> <param index="0" name="name" type="StringName" default="&""" /> <param index="1" name="custom_speed" type="float" default="1.0" /> <param index="2" name="from_end" type="bool" default="false" /> <description> Plays the animation with key [param name]. If [param custom_speed] is negative and [param from_end] is [code]true[/code], the animation will play backwards (which is equivalent to calling [method play_backwards]). If this method is called with that same animation [param name], or with no [param name] parameter, the assigned animation will resume playing if it was paused. </description> </method> <method name="play_backwards"> <return type="void" /> <param index="0" name="name" type="StringName" default="&""" /> <description> Plays the animation with key [param name] in reverse. This method is a shorthand for [method play] with [code]custom_speed = -1.0[/code] and [code]from_end = true[/code], so see its description for more information. </description> </method> <method name="set_frame_and_progress"> <return type="void" /> <param index="0" name="frame" type="int" /> <param index="1" name="progress" type="float" /> <description> The setter of [member frame] resets the [member frame_progress] to [code]0.0[/code] implicitly, but this method avoids that. This is useful when you want to carry over the current [member frame_progress] to another [member frame]. [b]Example:[/b] [codeblocks] [gdscript] # Change the animation with keeping the frame index and progress. var current_frame = animated_sprite.get_frame() var current_progress = animated_sprite.get_frame_progress() animated_sprite.play("walk_another_skin") animated_sprite.set_frame_and_progress(current_frame, current_progress) [/gdscript] [/codeblocks] </description> </method> <method name="stop"> <return type="void" /> <description> Stops the currently playing animation. The animation position is reset to [code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/code]. See also [method pause]. </description> </method> </methods> <members> <member name="animation" type="StringName" setter="set_animation" getter="get_animation" default="&"default""> The current animation from the [member sprite_frames] resource. If this value is changed, the [member frame] counter and the [member frame_progress] are reset. </member> <member name="autoplay" type="String" setter="set_autoplay" getter="get_autoplay" default=""""> The key of the animation to play when the scene loads. </member> <member name="frame" type="int" setter="set_frame" getter="get_frame" default="0"> The displayed animation frame's index. Setting this property also resets [member frame_progress]. If this is not desired, use [method set_frame_and_progress]. </member> <member name="frame_progress" type="float" setter="set_frame_progress" getter="get_frame_progress" default="0.0"> The progress value between [code]0.0[/code] and [code]1.0[/code] until the current frame transitions to the next frame. If the animation is playing backwards, the value transitions from [code]1.0[/code] to [code]0.0[/code]. </member> <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0"> The speed scaling ratio. For example, if this value is [code]1[/code], then the animation plays at normal speed. If it's [code]0.5[/code], then it plays at half speed. If it's [code]2[/code], then it plays at double speed. If set to a negative value, the animation is played in reverse. If set to [code]0[/code], the animation will not advance. </member> <member name="sprite_frames" type="SpriteFrames" setter="set_sprite_frames" getter="get_sprite_frames"> The [SpriteFrames] resource containing the animation(s). Allows you the option to load, edit, clear, make unique and save the states of the [SpriteFrames] resource. </member> </members> <signals> <signal name="animation_changed"> <description> Emitted when [member animation] changes. </description> </signal> <signal name="animation_finished"> <description> Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback. </description> </signal> <signal name="animation_looped"> <description> Emitted when the animation loops. </description> </signal> <signal name="frame_changed"> <description> Emitted when [member frame] changes. </description> </signal> <signal name="sprite_frames_changed"> <description> Emitted when [member sprite_frames] changes. </description> </signal> </signals> </class>