Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AnimatedTexture

Obsolète : This class does not work properly in current versions and may be removed in the future. There is currently no equivalent workaround.

Hérite de : Texture2D < Texture < Resource < RefCounted < Object

Texture de substitut pour des animations simples basés sur les trames.

Description

AnimatedTexture est un format de ressource pour les animations basées sur les trames, où plusieurs textures peuvent être automatiquement chaînés avec un délai prédéfini pour chaque trame. Contrairement à AnimationPlayer ou AnimatedSprite2D, ce n'est pas un Node, mais à l'avantage d'être utilisable n'importe où une ressource Texture2D peut être utilisée, par exemple dans un TileSet.

La lecture de l'animation est contrôlée par la propriété speed_scale ainsi que le délai de chaque trame (voir set_frame_duration()). L'animation boucle, c'est-à dire que l'animation recommence automatiquement à la trame 0 dès que la dernière trame de l'animation est jouée.

AnimatedTexture nécessite actuellement que toutes les textures de trame aient la même taille, sinon les plus grandes seront coupées pour correspondre à la plus petite.

Note : AnimatedTexture ne supporte pas l'utilisation d'AtlasTextures. Chaque trame doit être une Texture2D distincte.

Attention : L'implémentation actuelle n'est pas efficiente pour les moteurs de rendu modernes.

Propriétés

int

current_frame

int

frames

1

bool

one_shot

false

bool

pause

false

bool

resource_local_to_scene

false (overrides Resource)

float

speed_scale

1.0

Méthodes

float

get_frame_duration(frame: int) const

Texture2D

get_frame_texture(frame: int) const

void

set_frame_duration(frame: int, duration: float)

void

set_frame_texture(frame: int, texture: Texture2D)


Constantes

MAX_FRAMES = 256 🔗

Le nombre maximum de trames supporté par AnimatedTexture. Si vous avez besoin de plus de trames dans votre animation, utilisez AnimationPlayer ou AnimatedSprite2D.


Descriptions des propriétés

int current_frame 🔗

  • void set_current_frame(value: int)

  • int get_current_frame()

Définit la trame actuellement visible de la texture. Définir cette trame tout en jouant réinitialise le temps actuel de trame, de sorte que la trame nouvellement sélectionnée joue pour toute sa durée configurée.


int frames = 1 🔗

  • void set_frames(value: int)

  • int get_frames()

Le nombre de trames d'utiliser dans l'animation. Même que vous pouvez créer les trames indépendamment avec set_frame_texture(), vous devez définir cette valeur pour l'animation pour prendre en compte les nouvelles trames. Le nombre maximum de trames est MAX_FRAMES.


bool one_shot = false 🔗

  • void set_one_shot(value: bool)

  • bool get_one_shot()

Si true, l'animation jouera une fois seulement et ne retournera pas à la première trame après avoir terminé. Remarquez qu'atteindre la fin ne définira pas pause à true.


bool pause = false 🔗

  • void set_pause(value: bool)

  • bool get_pause()

Si true, l'animation pausera à la trame où il se trouve actuellement (c'est-à-dire à current_frame). L'animation continuera d'où c'était pausé quand cette propriété est mise à false.


float speed_scale = 1.0 🔗

  • void set_speed_scale(value: float)

  • float get_speed_scale()

La vitesse de l’animation est multipliée par cette valeur. Si elle est négative, l’animation est jouée à l’envers.


Descriptions des méthodes

float get_frame_duration(frame: int) const 🔗

Renvoie la durée de la trame frame donnée, en secondes.


Texture2D get_frame_texture(frame: int) const 🔗

Renvoie la Texture2D de la trame donnée.


void set_frame_duration(frame: int, duration: float) 🔗

Définit la durée de toute trame frame donnée. La durée finale est affectée par speed_scale. Si définie à 0, la trame est ignorée lors de la lecture.


void set_frame_texture(frame: int, texture: Texture2D) 🔗

Affecte une Texture2D à la trame donnée. Les identifiants de trames commencent à 0, donc la première trame a l'identifiant 0, et la dernière trame a l'identifiant frames - 1.

Vous pouvez définir n'importe quel nombre de textures jusqu'à MAX_FRAMES, mais rappelez-vous que seulement les trames qui vont de 0 à frames - 1 feront partie de l'animation.