Skip to main content

SpriteFrames

Inherits: Resource < RefCounted < Object

Sprite frame library for AnimatedSprite2D and AnimatedSprite3D.

Description

Sprite frame library for an AnimatedSprite2D or AnimatedSprite3D node. Contains frames and animation data for playback.

Methods

voidadd_animation\ (\ anim: StringName\ )
voidadd_frame\ (\ anim: StringName, texture: Texture2D, duration: float = 1.0, at_position: int = -1\ )
voidclear\ (\ anim: StringName\ )
voidclear_all\ (\ )
SpriteFramescreate_from_image_frames\ (\ image_frames: ImageFrames\ ) static
voidduplicate_animation\ (\ anim_from: StringName, anim_to: StringName\ )
boolget_animation_loop\ (\ anim: StringName\ ) const
PackedStringArrayget_animation_names\ (\ ) const
floatget_animation_speed\ (\ anim: StringName\ ) const
intget_frame_count\ (\ anim: StringName\ ) const
floatget_frame_duration\ (\ anim: StringName, idx: int\ ) const
Texture2Dget_frame_texture\ (\ anim: StringName, idx: int\ ) const
boolhas_animation\ (\ anim: StringName\ ) const
ImageFramesmake_image_frames\ (\ anim: StringName = &"default"\ ) const
voidremove_animation\ (\ anim: StringName\ )
voidremove_frame\ (\ anim: StringName, idx: int\ )
voidrename_animation\ (\ anim: StringName, newname: StringName\ )
voidset_animation_loop\ (\ anim: StringName, loop: bool\ )
voidset_animation_speed\ (\ anim: StringName, fps: float\ )
voidset_frame\ (\ anim: StringName, idx: int, texture: Texture2D, duration: float = 1.0\ )
voidset_from_image_frames\ (\ image_frames: ImageFrames, anim: StringName = &"default"\ )

Method Descriptions

void add_animation\ (\ anim: StringName\ ) 🔗

Adds a new anim animation to the library.


void add_frame\ (\ anim: StringName, texture: Texture2D, duration: float = 1.0, at_position: int = -1\ ) 🔗

Adds a frame to the anim animation. If at_position is -1, the frame will be added to the end of the animation. duration specifies the relative duration, see get_frame_duration() for details.


void clear\ (\ anim: StringName\ ) 🔗

Removes all frames from the anim animation.


void clear_all\ (\ ) 🔗

Removes all animations. An empty default animation will be created.


SpriteFrames create_from_image_frames\ (\ image_frames: ImageFrames\ ) static 🔗

Creates new a SpriteFrames object and initializes it by allocating and setting the "default" animation from an ImageFrames.


void duplicate_animation\ (\ anim_from: StringName, anim_to: StringName\ ) 🔗

Duplicates the animation anim_from to a new animation named anim_to. Fails if anim_to already exists, or if anim_from does not exist.


bool get_animation_loop\ (\ anim: StringName\ ) const 🔗

Returns true if the given animation is configured to loop when it finishes playing. Otherwise, returns false.


PackedStringArray get_animation_names\ (\ ) const 🔗

Returns an array containing the names associated to each animation. Values are placed in alphabetical order.


float get_animation_speed\ (\ anim: StringName\ ) const 🔗

Returns the speed in frames per second for the anim animation.


int get_frame_count\ (\ anim: StringName\ ) const 🔗

Returns the number of frames for the anim animation.


float get_frame_duration\ (\ anim: StringName, idx: int\ ) const 🔗

Returns a relative duration of the frame idx in the anim animation (defaults to 1.0). For example, a frame with a duration of 2.0 is displayed twice as long as a frame with a duration of 1.0. You can calculate the absolute duration (in seconds) of a frame using the following formula:

    absolute_duration = relative_duration / (animation_fps * abs(playing_speed))

In this example, playing_speed refers to either AnimatedSprite2D.get_playing_speed() or AnimatedSprite3D.get_playing_speed().


Texture2D get_frame_texture\ (\ anim: StringName, idx: int\ ) const 🔗

Returns the texture of the frame idx in the anim animation.


bool has_animation\ (\ anim: StringName\ ) const 🔗

Returns true if the anim animation exists.


ImageFrames make_image_frames\ (\ anim: StringName = &"default"\ ) const 🔗

Creates a new ImageFrames object from contents in the anim animation.


void remove_animation\ (\ anim: StringName\ ) 🔗

Removes the anim animation.


void remove_frame\ (\ anim: StringName, idx: int\ ) 🔗

Removes the anim animation's frame idx.


void rename_animation\ (\ anim: StringName, newname: StringName\ ) 🔗

Changes the anim animation's name to newname.


void set_animation_loop\ (\ anim: StringName, loop: bool\ ) 🔗

If loop is true, the anim animation will loop when it reaches the end, or the start if it is played in reverse.


void set_animation_speed\ (\ anim: StringName, fps: float\ ) 🔗

Sets the speed for the anim animation in frames per second.


void set_frame\ (\ anim: StringName, idx: int, texture: Texture2D, duration: float = 1.0\ ) 🔗

Sets the texture and the duration of the frame idx in the anim animation. duration specifies the relative duration, see get_frame_duration() for details.


void set_from_image_frames\ (\ image_frames: ImageFrames, anim: StringName = &"default"\ ) 🔗

Replaces the animations's data with a new ImageFrames for the anim animation.