AnimatedTexture¶
Inherits: Texture2D < Texture < Resource < RefCounted < Object
Proxy texture for simple frame-based animations.
Description¶
AnimatedTexture is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike AnimationPlayer or AnimatedSprite2D, it isn't a Node, but has the advantage of being usable anywhere a Texture2D resource can be used, e.g. in a TileSet.
The playback of the animation is controlled by the speed_scale property, as well as each frame's duration (see set_frame_duration). 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.
Note: AnimatedTexture doesn't support using AtlasTextures. Each frame needs to be a separate Texture2D.
Properties¶
|
||
|
||
|
||
resource_local_to_scene |
|
|
|
Methods¶
get_frame_duration ( int frame ) const |
|
get_frame_texture ( int frame ) const |
|
void |
set_frame_duration ( int frame, float duration ) |
void |
set_frame_texture ( int frame, Texture2D texture ) |
Constants¶
MAX_FRAMES = 256
The maximum number of frames supported by AnimatedTexture. If you need more frames in your animation, use AnimationPlayer or AnimatedSprite2D.
Property Descriptions¶
int current_frame
Sets the currently visible frame of the texture.
int frames = 1
Number of frames to use in the animation. While you can create the frames independently with set_frame_texture, you need to set this value for the animation to take new frames into account. The maximum number of frames is MAX_FRAMES.
bool one_shot = false
If true
, the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not set pause to true
.
bool pause = false
If true
, the animation will pause where it currently is (i.e. at current_frame). The animation will continue from where it was paused when changing this property to false
.
float speed_scale = 1.0
The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse.
Method Descriptions¶
float get_frame_duration ( int frame ) const
Returns the given frame
's duration, in seconds.
Texture2D get_frame_texture ( int frame ) const
Returns the given frame's Texture2D.
void set_frame_duration ( int frame, float duration )
Sets the duration of any given frame
. The final duration is affected by the speed_scale. If set to 0
, the frame is skipped during playback.
void set_frame_texture ( int frame, Texture2D texture )
Assigns a Texture2D to the given frame. Frame IDs start at 0, so the first frame has ID 0, and the last frame of the animation has ID frames - 1.
You can define any number of textures up to MAX_FRAMES, but keep in mind that only frames from 0 to frames - 1 will be part of the animation.