:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/SpriteFrames.xml. .. _class_SpriteFrames: SpriteFrames ============ **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Sprite frame library for AnimatedSprite2D and AnimatedSprite3D. .. rst-class:: classref-introduction-group Description ----------- Sprite frame library for an :ref:`AnimatedSprite2D` or :ref:`AnimatedSprite3D` node. Contains frames and animation data for playback. .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_animation`\ (\ anim\: :ref:`StringName`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_frame`\ (\ anim\: :ref:`StringName`, texture\: :ref:`Texture2D`, duration\: :ref:`float` = 1.0, at_position\: :ref:`int` = -1\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear`\ (\ anim\: :ref:`StringName`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear_all`\ (\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_animation_loop`\ (\ anim\: :ref:`StringName`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_animation_names`\ (\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_animation_speed`\ (\ anim\: :ref:`StringName`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_frame_count`\ (\ anim\: :ref:`StringName`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_frame_duration`\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture2D` | :ref:`get_frame_texture`\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_animation`\ (\ anim\: :ref:`StringName`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_animation`\ (\ anim\: :ref:`StringName`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_frame`\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`rename_animation`\ (\ anim\: :ref:`StringName`, newname\: :ref:`StringName`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_animation_loop`\ (\ anim\: :ref:`StringName`, loop\: :ref:`bool`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_animation_speed`\ (\ anim\: :ref:`StringName`, fps\: :ref:`float`\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_frame`\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`, texture\: :ref:`Texture2D`, duration\: :ref:`float` = 1.0\ ) | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_SpriteFrames_method_add_animation: .. rst-class:: classref-method |void| **add_animation**\ (\ anim\: :ref:`StringName`\ ) :ref:`🔗` Adds a new ``anim`` animation to the library. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_add_frame: .. rst-class:: classref-method |void| **add_frame**\ (\ anim\: :ref:`StringName`, texture\: :ref:`Texture2D`, duration\: :ref:`float` = 1.0, at_position\: :ref:`int` = -1\ ) :ref:`🔗` 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 :ref:`get_frame_duration` for details. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_clear: .. rst-class:: classref-method |void| **clear**\ (\ anim\: :ref:`StringName`\ ) :ref:`🔗` Removes all frames from the ``anim`` animation. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_clear_all: .. rst-class:: classref-method |void| **clear_all**\ (\ ) :ref:`🔗` Removes all animations. An empty ``default`` animation will be created. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_get_animation_loop: .. rst-class:: classref-method :ref:`bool` **get_animation_loop**\ (\ anim\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns ``true`` if the given animation is configured to loop when it finishes playing. Otherwise, returns ``false``. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_get_animation_names: .. rst-class:: classref-method :ref:`PackedStringArray` **get_animation_names**\ (\ ) |const| :ref:`🔗` Returns an array containing the names associated to each animation. Values are placed in alphabetical order. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_get_animation_speed: .. rst-class:: classref-method :ref:`float` **get_animation_speed**\ (\ anim\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns the speed in frames per second for the ``anim`` animation. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_get_frame_count: .. rst-class:: classref-method :ref:`int` **get_frame_count**\ (\ anim\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns the number of frames for the ``anim`` animation. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_get_frame_duration: .. rst-class:: classref-method :ref:`float` **get_frame_duration**\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`\ ) |const| :ref:`🔗` 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 :ref:`AnimatedSprite2D.get_playing_speed` or :ref:`AnimatedSprite3D.get_playing_speed`. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_get_frame_texture: .. rst-class:: classref-method :ref:`Texture2D` **get_frame_texture**\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`\ ) |const| :ref:`🔗` Returns the texture of the frame ``idx`` in the ``anim`` animation. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_has_animation: .. rst-class:: classref-method :ref:`bool` **has_animation**\ (\ anim\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns ``true`` if the ``anim`` animation exists. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_remove_animation: .. rst-class:: classref-method |void| **remove_animation**\ (\ anim\: :ref:`StringName`\ ) :ref:`🔗` Removes the ``anim`` animation. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_remove_frame: .. rst-class:: classref-method |void| **remove_frame**\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`\ ) :ref:`🔗` Removes the ``anim`` animation's frame ``idx``. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_rename_animation: .. rst-class:: classref-method |void| **rename_animation**\ (\ anim\: :ref:`StringName`, newname\: :ref:`StringName`\ ) :ref:`🔗` Changes the ``anim`` animation's name to ``newname``. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_set_animation_loop: .. rst-class:: classref-method |void| **set_animation_loop**\ (\ anim\: :ref:`StringName`, loop\: :ref:`bool`\ ) :ref:`🔗` If ``loop`` is ``true``, the ``anim`` animation will loop when it reaches the end, or the start if it is played in reverse. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_set_animation_speed: .. rst-class:: classref-method |void| **set_animation_speed**\ (\ anim\: :ref:`StringName`, fps\: :ref:`float`\ ) :ref:`🔗` Sets the speed for the ``anim`` animation in frames per second. .. rst-class:: classref-item-separator ---- .. _class_SpriteFrames_method_set_frame: .. rst-class:: classref-method |void| **set_frame**\ (\ anim\: :ref:`StringName`, idx\: :ref:`int`, texture\: :ref:`Texture2D`, duration\: :ref:`float` = 1.0\ ) :ref:`🔗` Sets the ``texture`` and the ``duration`` of the frame ``idx`` in the ``anim`` animation. ``duration`` specifies the relative duration, see :ref:`get_frame_duration` for details. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`