Class reference

AnimatedSprite2D

Inherits Node2D

Sprite node that contains multiple textures as frames to play for animation.

Description

AnimatedSprite2D is similar to the Sprite2D node, except it carries multiple textures as animation 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.

Properties

String autoplay = ""

The key of the animation to play when the scene loads.

bool flip_h = false

If true, texture is flipped horizontally.

bool flip_v = false

If true, texture is flipped vertically.

float frame_progress = 0.0

The progress value between 0.0 and 1.0 until the current frame transitions to the next frame. If the animation is playing backwards, the value transitions from 1.0 to 0.0.

Vector2 offset = Vector2(0, 0)

The texture's drawing offset.

float speed_scale = 1.0

The speed scaling ratio. For example, 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. If set to a negative value, the animation is played in reverse. If set to 0, the animation will not advance.

SpriteFrames 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.

Methods

float get_playing_speed() const

Returns the actual playing speed of current animation or 0 if not playing. This speed is the speed_scale property multiplied by custom_speed argument specified when calling the play() method. Returns a negative value if the current animation is playing backwards.

bool is_playing() const

Returns true if an animation is currently playing (even if speed_scale and/or custom_speed are 0).

void play(StringName name = &"", float custom_speed = 1.0, bool from_end = false)

Plays the animation with key name. If custom_speed is negative and from_end is true, the animation will play backwards (which is equivalent to calling play_backwards()). If this method is called with that same animation name, or with no name parameter, the assigned animation will resume playing if it was paused.

void play_backwards(StringName name = &"")

Plays the animation with key name in reverse. This method is a shorthand for play() with custom_speed = -1.0 and from_end = true, so see its description for more information.

void set_frame_and_progress(int frame, float progress)

Sets frame and frame_progress to the given values. Unlike setting frame, this method does not reset the frame_progress to 0.0 implicitly. Example: Change the animation while keeping the same frame and frame_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)
				

void stop()

Stops the currently playing animation. The animation position is reset to 0 and the custom_speed is reset to 1.0. See also pause().

Signals

animation_changed()

Emitted when animation changes.

animation_finished()

Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback. Note: This signal is not emitted if an animation is looping.

animation_looped()

Emitted when the animation loops.

frame_changed()

Emitted when frame changes.

Tutorials

Source revision 4f5b14abade2
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.