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.

AnimatedSprite3D

Eredita: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Nodo di sprite 2D nel mondo 3D, che può utilizzare più texture 2D per l'animazione.

Descrizione

AnimatedSprite3D è simile al nodo Sprite3D, eccetto che trasporta molteplici texture come fotogrammi di animazione. Le animazioni sono create usando una risorsa SpriteFrames, che consente di importare i file di immagine (o una cartella contenente tali file) per fornire i fotogrammi di animazione per lo sprite. La risorsa SpriteFrames può essere configurata nell'editor tramite il pannello inferiore di SpriteFrames.

Tutorial

Proprietà

StringName

animation

&"default"

String

autoplay

""

int

frame

0

float

frame_progress

0.0

float

speed_scale

1.0

SpriteFrames

sprite_frames

Metodi

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


Segnali

animation_changed() 🔗

Emesso quando animation cambia.


animation_finished() 🔗

Emesso quando l'animazione raggiunge la fine, o l'inizio se è riprodotta al rovescio. Quando l'animazione termina, mette in pausa la riproduzione.

Nota: Questo segnale non viene emesso se un'animazione si sta ripetendo.


animation_looped() 🔗

Emesso quando l'animazione si ripete.


frame_changed() 🔗

Emesso quando frame cambia.


sprite_frames_changed() 🔗

Emesso quando sprite_frames cambia.


Descrizioni delle proprietà

StringName animation = &"default" 🔗

L'animazione attuale dalla risorsa sprite_frames. Se questo valore è cambiato, il contatore frame e il frame_progress sono ripristinati.


String autoplay = "" 🔗

La chiave dell'animazione da riprodurre quando la scena è caricata.


int frame = 0 🔗

  • void set_frame(value: int)

  • int get_frame()

L'indice del fotogramma di animazione visualizzato. Impostare questa proprietà reimposta anche frame_progress. Se questo non è desiderato, utilizza set_frame_and_progress().


float frame_progress = 0.0 🔗

  • void set_frame_progress(value: float)

  • float get_frame_progress()

Il valore di progresso tra 0.0 e 1.0 fino a quando il fotogramma attuale passa al fotogramma successivo. Se l'animazione è riprodotta all'indietro, il valore passa da 1.0 a 0.0.


float speed_scale = 1.0 🔗

  • void set_speed_scale(value: float)

  • float get_speed_scale()

Il rapporto di scala della velocità. Ad esempio, se questo valore è 1, l'animazione è riprodotta alla velocità normale. Se è 0.5, allora è riprodotta alla velocità dimezzata. Se è 2, allora è riprodotta alla velocità doppia.

Se impostato a un valore negativo, l'animazione è riprodotta al rovescio. Se impostato su 0, l'animazione non avanza.


SpriteFrames sprite_frames 🔗

La risorsa SpriteFrames contenente l'animazione(i). Consente di caricare, modificare, cancellare, rendere unici e salvare gli stati della risorsa SpriteFrames.


Descrizioni dei metodi

float get_playing_speed() const 🔗

Restituisce la velocità di riproduzione effettiva dell'animazione attuale o 0 se non è riprodotta. Questa velocità è la proprietà speed_scale moltiplicata per l'argomento custom_speed specificato quando si chiama il metodo play().

Restituisce un valore negativo se l'animazione corrente si sta riproducendo all'indietro.


bool is_playing() const 🔗

Restituisce true se un'impostazione è attualmente in riproduzione (anche se speed_scale e/o custom_speed sono 0).


void pause() 🔗

Pausa l'animazione attualmente in riproduzione. Il frame e frame_progress saranno mantenuti e chiamando play() o play_backwards() senza argomenti riprenderà l'animazione dalla posizione di riproduzione corrente.

Vedi anche stop().


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

Riproduce l'animazione con la chiave name. Se custom_speed è negativo e from_end è true, l'animazione sarà riprodotta all'indietro (che equivale a chiamare play_backwards()).

Se questo metodo è chiamato con lo stesso nome dell'animazione di name, o senza il parametro name, l'animazione assegnata riprenderà la riproduzione se è stata messa in pausa.


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

Riproduce l'animazione con la chiave name al rovescio.

Questo metodo è una abbreviazione per play() con custom_speed = -1.0 e from_end = true, quindi vedi la sua descrizione per ulteriori informazioni.


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

Imposta frame e frame_progress ai valori forniti. A differenza di impostare frame, questo metodo non ripristina frame_progress a 0.0 implicitamente.

Esempio: Cambia l'animazione, mantenendo lo stesso frame e 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() 🔗

Interrompe l'animazione attualmente in riproduzione. La posizione di animazione è ripristinata a 0 e custom_speed è ripristinato a 1.0. Vedi anche pause().