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

Успадковує: 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

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)


Переліки

enum LoopMode: 🔗

LoopMode LOOP_NONE = 0

Анімація відтворюється один раз і зупиняється, коли доходить до кінця, або до початку, якщо її відтворювати у зворотному напрямку.

LoopMode LOOP_LINEAR = 1

Анімація починається спочатку, коли добігає кінця, або з кінця, якщо її відтворювати у зворотному напрямку, і повторюється безперервно.

LoopMode LOOP_PINGPONG = 2

Анімація змінює напрямок щоразу, коли досягає кінця або початку, повторюючи відтворення вперед, а потім назад.

Примітка: Як AnimatedSprite2D, так і AnimatedSprite3D відтворюють перший/останній кадр протягом усього циклу лише один раз на кожному кінці циклу анімації (замість двох разів — по одному разу для кожного напрямку анімації: вперед і назад).


Описи методів

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 🔗

Застаріло: Use get_animation_loop_mode() instead.

Повертає true, якщо get_animation_loop_mode(anim) == LOOP_LINEAR. В іншому випадку повертає false.


LoopMode get_animation_loop_mode(anim: StringName) const 🔗

Повертає режим циклу для анімації anim.


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

Вилучає рамку анімації idx.


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

Зміни ім'я анімації anim на newname.


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

Застаріло: Use set_animation_loop_mode() instead.

Якщо loop має значення false, це еквівалентно set_animation_loop_mode(LOOP_NONE).

Якщо loop має значення true, це еквівалентно set_animation_loop_mode(LOOP_LINEAR).


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

Встановлює параметр loop_mode для анімації 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() для отримання детальної інформації.