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.

AnimatedSprite2D

Hérite de : Node2D < CanvasItem < Node < Object

Le nœud de sprite qui peut utiliser plusieurs textures pour jouer une animation.

Description

AnimatedSprite2D est semblable au nœud Sprite2D, sauf qu'il contient plusieurs textures comme des trames d'animation. Les animations sont créées à l'aide d'une ressource SpriteFrames qui vous permet d'importer des fichiers d'image (ou un dossier contenant ces fichiers) pour fournir les trames d'animation pour le sprite. La ressource SpriteFrames peut être configurée dans l'éditeur via le panneau inférieur SpriteFrames.

Tutoriels

Propriétés

StringName

animation

&"default"

String

autoplay

""

bool

centered

true

bool

flip_h

false

bool

flip_v

false

int

frame

0

float

frame_progress

0.0

Vector2

offset

Vector2(0, 0)

float

speed_scale

1.0

SpriteFrames

sprite_frames

Méthodes

float

get_playing_speed() const

bool

is_playing() const

void

pause()

void

play(name: StringName = &"", custom_speed: float = 1.0, from_end: bool = false)

void

play_backwards(name: StringName = &"")

void

set_frame_and_progress(frame: int, progress: float)

void

stop()


Signaux

animation_changed() 🔗

Émis lorsque animation change.


animation_finished() 🔗

Émis lorsque l'animation atteint la fin, ou le départ si elle est jouée à l'envers. Lorsque l'animation se termine, elle met en pause la lecture.

Note : Ce signal n'est pas émis si une animation boucle.


animation_looped() 🔗

Émis lorsque l'animation boucle.


frame_changed() 🔗

Émis lorsque frame change.


sprite_frames_changed() 🔗

Émis lorsque sprite_frames change.


Descriptions des propriétés

StringName animation = &"default" 🔗

L'animation actuelle de la ressource sprite_frames. Si cette valeur est modifiée, le compteur frame et frame_progress sont réinitialisés.


String autoplay = "" 🔗

La clé d'animation à jouer quand la scène est chargée.


bool centered = true 🔗

  • void set_centered(value: bool)

  • bool is_centered()

Si true, la texture sera centrée.

Note : Pour les jeux avec une esthétique pixel art, les textures peuvent apparaître déformées lorsqu'elles sont centrées. Ceci est causé par leur position se trouvant entre les pixels. Pour éviter cela, définissez cette propriété à false, ou envisagez d'activer ProjectSettings.rendering/2d/snap/snap_2d_vertices_to_pixel et ProjectSettings.rendering/2d/snap/snap_2d_transforms_to_pixel.


bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

Si true, la texture est inversée horizontalement.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

Si true, la texture est inversée verticalement.


int frame = 0 🔗

  • void set_frame(value: int)

  • int get_frame()

L'index de la trame d'animation affichée. Définir cette propriété réinitialise aussi frame_progress. Si cela n'est pas souhaité, utilisez set_frame_and_progress().


float frame_progress = 0.0 🔗

  • void set_frame_progress(value: float)

  • float get_frame_progress()

La valeur de progression entre 0.0 et 1.0 jusqu'à ce que la trame actuelle transitionne vers la prochain trame. Si l'animation joue à l'envers, la valeur passe de 1.0 à 0.0.


Vector2 offset = Vector2(0, 0) 🔗

Le décalage du dessin de la texture.


float speed_scale = 1.0 🔗

  • void set_speed_scale(value: float)

  • float get_speed_scale()

Le rapport d'échelle de vitesse. Par exemple, si cette valeur vaut 1, alors l'animation joue à la vitesse normale. À 0,5, elle est joué deux fois moins vite. À 2, elle est jouée deux fois plus vite.

S'il est négatif, l'animation est jouée à l'envers. S'il est défini à 0, l'animation n'avancera pas.


SpriteFrames sprite_frames 🔗

La ressource SpriteFrames contenant les animations. Vous permet de charger, modifier, effacer, rendre unique et sauvegarder les états de la ressource SpriteFrames.


Descriptions des méthodes

float get_playing_speed() const 🔗

Renvoie la vitesse réelle de lecture de l'animation actuelle ou 0 si elle n'est pas en train de jouer. Cette vitesse est la propriété speed_scale multipliée par l'argument custom_speed spécifié lors de l'appel de la méthode play().

Renvoie une valeur négative si l'animation actuelle se joue à l'envers.


bool is_playing() const 🔗

Renvoie true si une animation est jouée actuellement (même si speed_scale et/ou custom_speed valent 0).


void pause() 🔗

Pause l'animation en cours de lecture. La trame frame et frame_progress seront conservés et appeler play() ou play_backwards() sans arguments reprendra l'animation à la position de lecture actuelle.

Voir aussi stop().


void play(name: StringName = &"", custom_speed: float = 1.0, from_end: bool = false) 🔗

Joue l'animation avec la clé name. Si custom_speed est négatif et from_end vaut true, l'animation jouera à l'envers (ce qui est équivalent à appeler play_backwards()).

Si cette méthode est appelée avec ce même nom d'animation name, ou sans paramètre name, l'animation assignée reprendra la lecture si elle a été interrompue.


void play_backwards(name: StringName = &"") 🔗

Joue à l'envers l'animation avec la clé name.

Cette méthode est un raccourci pour play() avec custom_speed = -1.0 et from_end = true, voir donc sa description pour plus d'informations.


void set_frame_and_progress(frame: int, progress: float) 🔗

Définit frame et frame_progress aux valeurs données. Contrairement à définir frame, cette méthode ne réinitialise pas implicitement frame_progress à 0.0.

Exemple : Changer l'animation tout en gardant la même frame et frame_progress :

var trame_actuelle = animated_sprite.get_frame()
var progresion_actuelle = animated_sprite.get_frame_progress()
animated_sprite.play("marche_autre_skin")
animated_sprite.set_frame_and_progress(trame_actuelle, progresion_actuelle)

void stop() 🔗

Arrête l'animation en cours de lecture. La position d'animation est réinitialisée à 0 et la vitesse custom_speed est réinitialisée à 1.0. Voir aussi pause().