mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-03 05:48:42 +03:00
124 lines
7.1 KiB
ReStructuredText
124 lines
7.1 KiB
ReStructuredText
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
|
|
.. DO NOT EDIT THIS FILE, but the AnimatedTexture.xml source instead.
|
|
.. The source is found in doc/classes or modules/<name>/doc_classes.
|
|
|
|
.. _class_AnimatedTexture:
|
|
|
|
AnimatedTexture
|
|
===============
|
|
|
|
**Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
|
|
|
|
**Category:** Core
|
|
|
|
Brief Description
|
|
-----------------
|
|
|
|
Proxy texture for simple frame-based animations.
|
|
|
|
Properties
|
|
----------
|
|
|
|
+---------------------------+------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`fps<class_AnimatedTexture_property_fps>` |
|
|
+---------------------------+------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`frames<class_AnimatedTexture_property_frames>` |
|
|
+---------------------------+------------------------------------------------------+
|
|
|
|
Methods
|
|
-------
|
|
|
|
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`get_frame_delay<class_AnimatedTexture_method_get_frame_delay>` **(** :ref:`int<class_int>` frame **)** const |
|
|
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Texture<class_Texture>` | :ref:`get_frame_texture<class_AnimatedTexture_method_get_frame_texture>` **(** :ref:`int<class_int>` frame **)** const |
|
|
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_frame_delay<class_AnimatedTexture_method_set_frame_delay>` **(** :ref:`int<class_int>` frame, :ref:`float<class_float>` delay **)** |
|
|
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`set_frame_texture<class_AnimatedTexture_method_set_frame_texture>` **(** :ref:`int<class_int>` frame, :ref:`Texture<class_Texture>` texture **)** |
|
|
+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
Constants
|
|
---------
|
|
|
|
.. _class_AnimatedTexture_constant_MAX_FRAMES:
|
|
|
|
- **MAX_FRAMES** = **256** --- The maximum number of frames supported by ``AnimatedTexture``. If you need more frames in your animation, use :ref:`AnimationPlayer<class_AnimationPlayer>` or :ref:`AnimatedSprite<class_AnimatedSprite>`.
|
|
|
|
Description
|
|
-----------
|
|
|
|
``AnimatedTexture`` is a resource format for simple frame-based animations, where multiple frames textures can be chained automatically with a predefined delay for each frame. It's not a :ref:`Node<class_Node>`, contrarily to :ref:`AnimationPlayer<class_AnimationPlayer>` or :ref:`AnimatedSprite<class_AnimatedSprite>`, but has the advantage of being usable at any place where a :ref:`Texture<class_Texture>` resource can be used, e.g. in a :ref:`TileSet<class_TileSet>`.
|
|
|
|
The playback of the animation is controlled by the :ref:`fps<class_AnimatedTexture_property_fps>` property as well as each frame's optional delay (see :ref:`set_frame_delay<class_AnimatedTexture_method_set_frame_delay>`). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
|
|
|
|
``AnimatedTexture`` currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_AnimatedTexture_property_fps:
|
|
|
|
- :ref:`float<class_float>` **fps**
|
|
|
|
+----------+----------------+
|
|
| *Setter* | set_fps(value) |
|
|
+----------+----------------+
|
|
| *Getter* | get_fps() |
|
|
+----------+----------------+
|
|
|
|
Number of frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the :ref:`frames<class_AnimatedTexture_property_frames>` property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see :ref:`set_frame_delay<class_AnimatedTexture_method_set_frame_delay>`). Default value: 4.
|
|
|
|
For example, an animation with 8 frames, no frame delay and a ``fps`` value of 2 will run over 4 seconds, with one frame each 0.5 seconds.
|
|
|
|
.. _class_AnimatedTexture_property_frames:
|
|
|
|
- :ref:`int<class_int>` **frames**
|
|
|
|
+----------+-------------------+
|
|
| *Setter* | set_frames(value) |
|
|
+----------+-------------------+
|
|
| *Getter* | get_frames() |
|
|
+----------+-------------------+
|
|
|
|
Number of frames to use in the animation. While you can create the frames independently with :ref:`set_frame_texture<class_AnimatedTexture_method_set_frame_texture>`, you need to set this value for the animation to take new frames into account. The maximum number of frames is :ref:`MAX_FRAMES<class_AnimatedTexture_constant_MAX_FRAMES>`. Default value: 1.
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_AnimatedTexture_method_get_frame_delay:
|
|
|
|
- :ref:`float<class_float>` **get_frame_delay** **(** :ref:`int<class_int>` frame **)** const
|
|
|
|
Retrieves the delayed assigned to the given ``frame`` ID.
|
|
|
|
.. _class_AnimatedTexture_method_get_frame_texture:
|
|
|
|
- :ref:`Texture<class_Texture>` **get_frame_texture** **(** :ref:`int<class_int>` frame **)** const
|
|
|
|
Retrieves the :ref:`Texture<class_Texture>` assigned to the given ``frame`` ID.
|
|
|
|
.. _class_AnimatedTexture_method_set_frame_delay:
|
|
|
|
- void **set_frame_delay** **(** :ref:`int<class_int>` frame, :ref:`float<class_float>` delay **)**
|
|
|
|
Defines an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by :ref:`fps<class_AnimatedTexture_property_fps>`. By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be ``1.0 / fps + delay``.
|
|
|
|
For example, for an animation with 3 frames, 2 FPS and a frame delay on the second frame of 1.2, the resulting playback will be:
|
|
|
|
::
|
|
|
|
Frame 0: 0.5 s (1 / fps)
|
|
Frame 1: 1.7 s (1 / fps + 1.2)
|
|
Frame 2: 0.5 s (1 / fps)
|
|
Total duration: 2.7 s
|
|
|
|
.. _class_AnimatedTexture_method_set_frame_texture:
|
|
|
|
- void **set_frame_texture** **(** :ref:`int<class_int>` frame, :ref:`Texture<class_Texture>` texture **)**
|
|
|
|
Assigns a :ref:`Texture<class_Texture>` to the given ``frame`` ID. IDs start at 0 (so the first frame has ID 0, and the last frame of the animation has ID :ref:`frames<class_AnimatedTexture_property_frames>` - 1).
|
|
|
|
You can define any frame texture up to :ref:`MAX_FRAMES<class_AnimatedTexture_constant_MAX_FRAMES>`, but keep in mind that only frames from 0 to :ref:`frames<class_AnimatedTexture_property_frames>` - 1 will be part of the animation.
|
|
|