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.

SpriteFrames

Eredita: Resource < RefCounted < Object

Libreria di fotogrammi di sprite per AnimatedSprite2D e AnimatedSprite3D.

Descrizione

Libreria di fotogrammi di sprite per un nodo AnimatedSprite2D o AnimatedSprite3D. Contiene fotogrammi e dati di animazione per la riproduzione.

Metodi

void

add_animation(anim: StringName)

void

add_frame(anim: StringName, texture: Texture2D, duration: float = 1.0, at_position: int = -1)

void

clear(anim: StringName)

void

clear_all()

void

duplicate_animation(anim_from: StringName, anim_to: StringName)

bool

get_animation_loop(anim: StringName) const

LoopMode

get_animation_loop_mode(anim: StringName) const

PackedStringArray

get_animation_names() const

float

get_animation_speed(anim: StringName) const

int

get_frame_count(anim: StringName) const

float

get_frame_duration(anim: StringName, idx: int) const

Texture2D

get_frame_texture(anim: StringName, idx: int) const

bool

has_animation(anim: StringName) const

void

remove_animation(anim: StringName)

void

remove_frame(anim: StringName, idx: int)

void

rename_animation(anim: StringName, newname: StringName)

void

set_animation_loop(anim: StringName, loop: bool)

void

set_animation_loop_mode(anim: StringName, loop_mode: LoopMode)

void

set_animation_speed(anim: StringName, fps: float)

void

set_frame(anim: StringName, idx: int, texture: Texture2D, duration: float = 1.0)


Enumerazioni

enum LoopMode: 🔗

LoopMode LOOP_NONE = 0

L'animazione è riprodotta una sola volta e si ferma quando raggiunge la fine, oppure l'inizio se riprodotta al contrario.

LoopMode LOOP_LINEAR = 1

The animation restarts from the beginning when it reaches the end, or from the end if played in reverse, repeating continuously.

LoopMode LOOP_PINGPONG = 2

The animation alternates direction each time it reaches the end or start, playing forward and then in reverse repeatedly.

Note: Both AnimatedSprite2D and AnimatedSprite3D play the first/last frame for its duration only once at each end of the animation loop (instead of twice, once per forward/backward animation direction).


Descrizioni dei metodi

void add_animation(anim: StringName) 🔗

Aggiunge una nuova animazione denominata anim alla libreria.


void add_frame(anim: StringName, texture: Texture2D, duration: float = 1.0, at_position: int = -1) 🔗

Aggiunge un fotogramma all'animazione anim. Se at_position è -1, il fotogramma sarà aggiunto alla fine dell'animazione. duration specifica la durata relativa, vedi get_frame_duration() per i dettagli.


void clear(anim: StringName) 🔗

Rimuove tutti i fotogrammi dall'animazione anim.


void clear_all() 🔗

Rimuove tutte le animazioni. Sarà creata un'animazione denominata default vuota.


void duplicate_animation(anim_from: StringName, anim_to: StringName) 🔗

Duplica l'animazione anim_from in una nuova animazione con il nome anim_to. Fallisce se anim_to esiste già o se anim_from non esiste.


bool get_animation_loop(anim: StringName) const 🔗

Deprecato: Use get_animation_loop_mode() instead.

Restituisce true se get_animation_loop_mode(anim) == LOOP_LINEAR. Altrimenti, restituisce false.


LoopMode get_animation_loop_mode(anim: StringName) const 🔗

Returns the loop mode for the anim animation.


PackedStringArray get_animation_names() const 🔗

Restituisce un array contenente i nomi associati a ciascuna animazione. I valori sono disposti in ordine alfabetico.


float get_animation_speed(anim: StringName) const 🔗

Restituisce la velocità in fotogrammi al secondo per l'animazione anim.


int get_frame_count(anim: StringName) const 🔗

Restituisce il numero di fotogrammi per l'animazione anim.


float get_frame_duration(anim: StringName, idx: int) const 🔗

Restituisce una durata relativa del fotogramma all'indice idx nell'animazione anim (il valore predefinito è 1.0). Ad esempio, un fotogramma con una durata di 2.0 è visualizzato il doppio del tempo di un fotogramma con una durata di 1.0. Puoi calcolare la durata assoluta (in secondi) di un fotogramma attraverso la seguente formula:

durata_assoluta = durata_relativa / (fps_di_animazione * abs(velocità_di_riproduzione))

In questo esempio, playing_speed si riferisce a AnimatedSprite2D.get_playing_speed() o AnimatedSprite3D.get_playing_speed().


Texture2D get_frame_texture(anim: StringName, idx: int) const 🔗

Restituisce la texture del fotogramma all'indice idx nell'animazione anim.


bool has_animation(anim: StringName) const 🔗

Restituisce true se l'animazione anim esiste.


void remove_animation(anim: StringName) 🔗

Rimuove l'animazione anim.


void remove_frame(anim: StringName, idx: int) 🔗

Rimuove il fotogramma all'indice idx dell'animazione anim.


void rename_animation(anim: StringName, newname: StringName) 🔗

Cambia il nome dell'animazione anim in newname.


void set_animation_loop(anim: StringName, loop: bool) 🔗

Deprecato: Use set_animation_loop_mode() instead.

If loop is false equivalent to set_animation_loop_mode(LOOP_NONE).

If loop is true equivalent to set_animation_loop_mode(LOOP_LINEAR).


void set_animation_loop_mode(anim: StringName, loop_mode: LoopMode) 🔗

Sets the loop_mode for the anim animation.


void set_animation_speed(anim: StringName, fps: float) 🔗

Imposta la velocità dell'animazione anim in fotogrammi al secondo.


void set_frame(anim: StringName, idx: int, texture: Texture2D, duration: float = 1.0) 🔗

Imposta la texture e la durata (duration) del fotogramma all'indice idx nell'animazione anim. duration specifica la durata relativa, vedi get_frame_duration() per i dettagli.