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

Eredita: Node2D < CanvasItem < Node < Object

Nodo di sprite che contiene più texture come fotogrammi da riprodurre per l'animazione.

Descrizione

AnimatedSprite2D è simile al nodo Sprite2D, 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

""

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

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.


bool centered = true 🔗

  • void set_centered(value: bool)

  • bool is_centered()

Se true, la texture sarà centrata.

Nota: Per i giochi con un'estetica di pixel art, le texture possono apparire deformate quando centrate. Ciò è causato dalla loro posizione che è in mezzo a i pixel. Per evitarlo, imposta questa proprietà a false, o considera abilitare ProjectSettings.rendering/2d/snap/snap_2d_vertices_to_pixel e ProjectSettings.rendering/2d/snap/snap_2d_transforms_to_pixel.


bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

Se true, la texture è capovolta orizzontalmente.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

Se true, la texture è capovolta verticalmente.


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.


Vector2 offset = Vector2(0, 0) 🔗

Lo scostamento di disegno della texture.


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