AnimatedSprite2D

Hereda: Node2D < CanvasItem < Node < Object

Nodo de Sprite que contiene múltiples texturas como fotogramas para reproducir animaciones.

Descripción

AnimatedSprite2D es similar al nodo Sprite2D, excepto que utiliza múltiples texturas como fotogramas de animación. Las animaciones se crean utilizando un recurso SpriteFrames, que permite importar archivos de imagen (o una carpeta que contenga dichos archivos) para proporcionar los fotogramas de animación del sprite. El recurso SpriteFrames puede configurarse en el editor a través del panel inferior de SpriteFrames.

Tutoriales

Propiedades

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étodos

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()


Señales

animation_changed() 🔗

Emitida cuando animation cambia.


animation_finished() 🔗

Emitida cuando la animación llega al final, o al inicio si se reproduce en reversa. Cuando la animación termina, pausa la reproducción.

Nota: Esta señal no se emite si una animación está en bucle.


animation_looped() 🔗

Emitida cuando la animación se repite.


frame_changed() 🔗

Emitida cuando frame cambia.


sprite_frames_changed() 🔗

Emitida cuando sprite_frames cambia.


Descripciones de Propiedades

StringName animation = &"default" 🔗

La animación actual del recurso sprite_frames. Si este valor cambia, el contador frame y el frame_progress se reinician.


String autoplay = "" 🔗

La clave de la animación que se reproducirá cuando se cargue la escena.


bool centered = true 🔗

  • void set_centered(value: bool)

  • bool is_centered()

Si es true, la textura se centrará.

Nota: Para juegos con una estética de pixel art, las texturas pueden aparecer deformadas cuando se centran. Esto se debe a que su posición está entre píxeles. Para evitar esto, establece esta propiedad en false, o considera habilitar ProjectSettings.rendering/2d/snap/snap_2d_vertices_to_pixel y ProjectSettings.rendering/2d/snap/snap_2d_transforms_to_pixel.


bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

Si es true, la textura se voltea horizontalmente.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

Si es true, la textura se voltea verticalmente.


int frame = 0 🔗

  • void set_frame(value: int)

  • int get_frame()

El índice del fotograma de animación que se muestra. Establecer esta propiedad también reinicia frame_progress. Si no se desea, usa set_frame_and_progress().


float frame_progress = 0.0 🔗

  • void set_frame_progress(value: float)

  • float get_frame_progress()

El valor de progreso entre 0.0 y 1.0 hasta que el fotograma actual hace la transición al siguiente fotograma. Si la animación se está reproduciendo hacia atrás, el valor hace la transición de 1.0 a 0.0.


Vector2 offset = Vector2(0, 0) 🔗

El desplazamiento al dibujar de la textura.


float speed_scale = 1.0 🔗

  • void set_speed_scale(value: float)

  • float get_speed_scale()

La relación de escala de velocidad. Por ejemplo, si este valor es 1, entonces la animación se reproduce a velocidad normal. Si es 0.5, entonces se reproduce a media velocidad. Si es 2, entonces se reproduce al doble de velocidad.

Si se establece en un valor negativo, la animación se reproduce en reversa. Si se establece en 0, la animación no avanzará.


SpriteFrames sprite_frames 🔗

El recurso SpriteFrames que contiene la(s) animación(es). Te permite cargar, editar, borrar, hacer único y guardar los estados del recurso SpriteFrames.


Descripciones de Métodos

float get_playing_speed() const 🔗

Devuelve la velocidad de reproducción real de la animación actual o 0 si no se está reproduciendo. Esta velocidad es la propiedad speed_scale multiplicada por el argumento custom_speed especificado al llamar al método play().

Devuelve un valor negativo si la animación actual se está reproduciendo hacia atrás.


bool is_playing() const 🔗

Devuelve true si una animación se está reproduciendo actualmente (incluso si speed_scale y/o custom_speed son 0).


void pause() 🔗

Pausa la animación que se está reproduciendo. El frame y el frame_progress se mantendrán y al llamar a play() o play_backwards() sin argumentos se reanudará la animación desde la posición de reproducción actual.

Véase también stop().


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

Reproduce la animación con la clave name. Si custom_speed es negativo y from_end es true, la animación se reproducirá hacia atrás (lo que equivale a llamar a play_backwards()).

Si este método se llama con la misma animación name, o sin el parámetro name, la animación asignada continuará reproduciéndose si estaba en pausa.


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

Reproduce la animación con la clave name al revés.

Este método es una abreviatura de play() con custom_speed = -1.0 y from_end = true, así que consulta su descripción para obtener más información.


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

Establece frame y frame_progress a los valores dados. A diferencia de establecer frame, este método no reinicia el frame_progress a 0.0 implícitamente.

Ejemplo: Cambia la animación manteniendo el mismo frame y frame_progress:

var current_frame = animated_sprite.get_frame()
var current_progress = animated_sprite.get_frame_progress()
animated_sprite.play("walk_another_skin")
animated_sprite.set_frame_and_progress(current_frame, current_progress)

void stop() 🔗

Detiene la animación que se está reproduciendo. La posición de la animación se restablece a 0 y la custom_speed se restablece a 1.0. Véase también pause().