AnimatedSprite3D
Hereda: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
Nodo de sprites 2D en el mundo 3D, que puede usar múltiples texturas 2D para la animación.
Descripción
AnimatedSprite3D es similar al nodo Sprite3D, excepto que contiene múltiples texturas como sprite_frames de animación. Las animaciones se crean mediante el recurso SpriteFrames, que permite importar archivos de imagen (o una carpeta que contenga dichos archivos) para generar los fotogramas de animación del sprite. El recurso SpriteFrames se puede configurar en el editor mediante el panel inferior SpriteFrames.
Tutoriales
Propiedades
|
||
|
||
|
||
|
||
|
||
Métodos
get_playing_speed() const |
|
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" 🔗
void set_animation(value: StringName)
StringName get_animation()
La animación actual del recurso sprite_frames. Si este valor cambia, el contador frame y el frame_progress se reinician.
La clave de la animación que se reproducirá cuando se cargue la escena.
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().
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.
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 🔗
void set_sprite_frames(value: SpriteFrames)
SpriteFrames get_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.
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().