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.

AnimatedTexture

Deprecato: This class does not work properly in current versions and may be removed in the future. There is currently no equivalent workaround.

Eredita: Texture2D < Texture < Resource < RefCounted < Object

Texture di proxy per semplici animazioni basate su fotogrammi.

Descrizione

AnimatedTexture è un formato di risorse per animazioni basate su fotogrammi, in cui più texture possono essere concatenate automaticamente con un ritardo predefinito per ogni fotogrammi. A differenza di AnimationPlayer o AnimatedSprite2D, non è un Node, ma ha il vantaggio di essere utilizzabile ovunque sia possibile utilizzare una risorsa Texture2D, ad esempio in un TileSet.

La riproduzione dell'animazione è controllata dalla proprietà speed_scale, così come dalla durata di ogni frame (vedere set_frame_duration()). L'animazione si ripete, ovvero ripartirà automaticamente dal fotogramma 0 dopo aver riprodotto l'ultimo fotogramma.

AnimatedTexture attualmente richiede che tutte le texture dei fotogrammi abbiano le stesse dimensioni, altrimenti quelle più grandi verranno ritagliate per adattarsi a quella più piccola.

Nota: AnimatedTexture non supporta l'utilizzo di AtlasTexture. Ogni fotogramma deve essere una Texture2D separata.

Attenzione: L'implementazione attuale non è efficiente per i renderer moderni.

Proprietà

int

current_frame

int

frames

1

bool

one_shot

false

bool

pause

false

bool

resource_local_to_scene

false (overrides Resource)

float

speed_scale

1.0

Metodi

float

get_frame_duration(frame: int) const

Texture2D

get_frame_texture(frame: int) const

void

set_frame_duration(frame: int, duration: float)

void

set_frame_texture(frame: int, texture: Texture2D)


Costanti

MAX_FRAMES = 256 🔗

Il numero massimo di fotogrammi supportati da AnimatedTexture. Se hai bisogno di più fotogrammi nella tua animazione, usa AnimationPlayer o AnimatedSprite2D.


Descrizioni delle proprietà

int current_frame 🔗

  • void set_current_frame(value: int)

  • int get_current_frame()

Imposta il fotogramma attualmente visibile della texture. Impostando questo fotogramma durante la riproduzione si reimposta il tempo del fotogramma attuale, quindi il fotogramma appena selezionato viene riprodotto per tutta la sua durata configurata.


int frames = 1 🔗

  • void set_frames(value: int)

  • int get_frames()

Il numero di fotogrammi da usare nell'animazione. Nonostante sia possibile creare i fotogrammi in modo indipendente con set_frame_texture(), è necessario impostare questo valore affinché l'animazione prenda in considerazione i nuovi fotogrammi. Il numero massimo di fotogrammi è MAX_FRAMES.


bool one_shot = false 🔗

  • void set_one_shot(value: bool)

  • bool get_one_shot()

Se true, l'animazione verrà riprodotta solo una volta e non tornerà al primo fotogramma dopo aver raggiunto la fine. Nota che il raggiungimento della fine non imposterà pause su true.


bool pause = false 🔗

  • void set_pause(value: bool)

  • bool get_pause()

Se true, l'animazione sarà messa in pausa nel punto in cui si trova attualmente (ovvero in current_frame). L'animazione riprenderà dal punto in cui era stata messa in pausa quando si imposta questa proprietà su false.


float speed_scale = 1.0 🔗

  • void set_speed_scale(value: float)

  • float get_speed_scale()

La velocità dell'animazione è moltiplicata per questo valore. Se impostato su un valore negativo, l'animazione è riprodotta al contrario.


Descrizioni dei metodi

float get_frame_duration(frame: int) const 🔗

Restituisce la durata del fotogramma frame, in secondi.


Texture2D get_frame_texture(frame: int) const 🔗

Restituisce la Texture2D del fotogramma fornito.


void set_frame_duration(frame: int, duration: float) 🔗

Imposta la durata di un determinato fotogramma (frame). La durata finale è influenzata da speed_scale. Se impostato su 0, il fotogramma viene saltato durante la riproduzione.


void set_frame_texture(frame: int, texture: Texture2D) 🔗

Assegna una Texture2D al fotogramma specificato. Gli ID dei fotogrammi iniziano da 0, quindi il primo fotogramma ha ID 0 e l'ultimo fotogramma dell'animazione ha ID frames - 1.

Puoi definire un numero qualsiasi di texture fino a MAX_FRAMES, ma tieni presente che solo i fotogrammi da 0 a frames - 1 faranno parte dell'animazione.