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.
Checking the stable version of the documentation...
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 |
|
void |
duplicate_animation(anim_from: StringName, anim_to: StringName) |
get_animation_loop(anim: StringName) const |
|
get_animation_loop_mode(anim: StringName) const |
|
get_animation_names() const |
|
get_animation_speed(anim: StringName) const |
|
get_frame_count(anim: StringName) const |
|
get_frame_duration(anim: StringName, idx: int) const |
|
get_frame_texture(anim: StringName, idx: int) const |
|
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() для отримання детальної інформації.