SpriteFrames

Наследует: Resource < RefCounted < Object

Библиотека кадров спрайтов для AnimatedSprite2D и AnimatedSprite3D.

Описание

Библиотека кадров спрайтов для узла AnimatedSprite2D или AnimatedSprite3D. Содержит кадры и данные анимации для воспроизведения.

Методы

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

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_speed(anim: StringName, fps: float)

void

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


Описания метода

void add_animation(anim: StringName) 🔗

Добавляет новую анимацию anim в библиотеку.


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

Добавляет кадр к анимации anim. Если at_position равен -1, кадр будет добавлен в конец анимации. duration указывает относительную длительность, подробности см. в get_frame_duration().


void clear(anim: StringName) 🔗

Удаляет все кадры из анимации anim.


void clear_all() 🔗

Удаляет все анимации. Будет создана пустая анимация default.


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

Дублирует анимацию anim_from в новую анимацию с именем anim_to. Не выполняется, если anim_to уже существует или если anim_from не существует.


bool get_animation_loop(anim: StringName) const 🔗

Возвращает true, если заданная анимация настроена на цикл после завершения воспроизведения. В противном случае возвращает false.


PackedStringArray get_animation_names() const 🔗

Возвращает массив, содержащий имена, связанные с каждой анимацией. Значения располагаются в алфавитном порядке.


float get_animation_speed(anim: StringName) const 🔗

Возвращает скорость в кадрах в секунду для анимации anim.


int get_frame_count(anim: StringName) const 🔗

Возвращает количество кадров для анимации anim.


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

Возвращает относительную длительность кадра idx в анимации anim (по умолчанию 1.0). Например, кадр с длительностью 2.0 отображается в два раза дольше кадра с длительностью 1.0. Вы можете рассчитать абсолютную длительность (в секундах) кадра, используя следующую формулу:

absolute_duration = relative_duration / (animation_fps * abs(playing_speed))

В этом примере playing_speed относится либо к AnimatedSprite2D.get_playing_speed(), либо к AnimatedSprite3D.get_playing_speed().


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

Возвращает текстуру кадра idx в анимации anim.


bool has_animation(anim: StringName) const 🔗

Возвращает true, если анимация anim существует.


void remove_animation(anim: StringName) 🔗

Удаляет анимацию anim.


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

Удаляет кадр анимации anim idx.


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

Изменяет имя анимации anim на newname.


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

Если loop равен true, анимация anim будет повторяться по достижении конца , или начала если она воспроизводится в обратном порядке.


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

Устанавливает скорость анимации anim в кадрах в секунду.


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

Устанавливает texture и duration кадра idx в анимации anim. duration указывает относительную длительность, подробности см. в get_frame_duration().