AnimatedSprite3D
Успадковує: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
Вузол 2D-спрайту в 3D-світі, який може використовувати кілька 2D-текстур для анімації.
Опис
AnimatedSprite3D схожий на вузол Sprite3D, за винятком того, що він містить декілька текстур у вигляді анімації sprite_frames. Анімація створюється за допомогою ресурсу SpriteFrames, який дозволяє імпортувати файли зображень (або теки, що містять ці файли) для створення кадрів анімації для цього спрайту. Ресурс SpriteFrames можна налаштувати у редакторі за допомогою нижньої панелі Кадри Спрайту.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
Методи
get_playing_speed() const |
|
is_playing() const |
|
void |
pause() |
void |
play(name: StringName = &"", custom_speed: float = 1.0, from_end: bool = false) |
void |
play_backwards(name: StringName = &"") |
void |
set_frame_and_progress(frame: int, progress: float) |
void |
stop() |
Сигнали
animation_changed() 🔗
Випромінюється, коли змінюється animation.
animation_finished() 🔗
Видається, коли анімація досягає кінця або початку, якщо вона відтворюється у зворотному напрямку. Після завершення анімації відтворення призупиняється.
Примітка. Цей сигнал не випромінюється, якщо анімація повторюється.
animation_looped() 🔗
Випромінюється, коли анімація повторюється.
frame_changed() 🔗
Випромінюється, коли змінюється frame.
sprite_frames_changed() 🔗
Випромінюється, коли змінюється sprite_frames.
Описи властивостей
StringName animation = &"default" 🔗
void set_animation(value: StringName)
StringName get_animation()
Поточна анімація з ресурсу sprite_frames. Якщо це значення змінюється, лічильник frame та frame_progress обнуляються.
Ключ анімації для відтворення при завантаженні сцени.
Індекс відображуваного кадру анімації. Встановлення цієї властивості також скидає frame_progress. Якщо це не бажано, використовуйте set_frame_and_progress().
Значення прогресу між 0.0 і 1.0 до моменту переходу до наступного кадру. Якщо анімація відтворюється у зворотному напрямку, значення переходить від 1.0 до 0.0.
Коефіцієнт масштабування швидкості. Наприклад, якщо це значення 1, то анімація відтворюється з нормальною швидкістю. Якщо це 0.5, то вона відтворюється наполовину швидко. Якщо це 2, то анімація відтворюється з подвійною швидкістю.
Якщо встановлено від'ємне значення, анімація відтворюється у зворотному напрямку. Якщо встановлено 0, анімація не буде відтворюватися.
SpriteFrames sprite_frames 🔗
void set_sprite_frames(value: SpriteFrames)
SpriteFrames get_sprite_frames()
Ресурс SpriteFrames, що містить анімацію(ї). Дозволяє завантажувати, редагувати, очищати, робити унікальними та зберігати стани ресурсу SpriteFrames.
Описи методів
float get_playing_speed() const 🔗
Повертає фактичну швидкість відтворення поточної анімації або 0, якщо вона не відтворюється. Ця швидкість - це властивість speed_scale, помножена на аргумент custom_speed, вказаний при виклику методу play().
Повертає від'ємне значення, якщо поточна анімація відтворюється у зворотному напрямку.
Повертає true, якщо анімація зараз відтворюється (навіть якщо speed_scale та/або custom_speed рівні 0).
void pause() 🔗
Ставить на паузу анімацію, що відтворюється у даний момент. Кадри frame і frame_progress будуть збережені, а виклик play(), або play_backwards(), без аргументів, відновить анімацію з поточної позиції відтворення.
Дивіться також stop().
void play(name: StringName = &"", custom_speed: float = 1.0, from_end: bool = false) 🔗
Відтворює анімацію з ключем name. Якщо custom_speed від'ємний, а from_end має значення true, анімація буде відтворюватися у зворотному напрямку (що еквівалентно виклику play_backwards()).
Якщо цей метод викликати з тією самою анімацією name або без параметра name, призначена анімація відновить відтворення, якщо її було призупинено.
void play_backwards(name: StringName = &"") 🔗
Відтворює анімацію з ключем name у зворотному напрямку.
Цей метод є скороченням від play() з custom_speed = -1.0 і from_end = true, тому дивіться його опис для додаткової інформації.
void set_frame_and_progress(frame: int, progress: float) 🔗
Встановлює для frame та frame_progress задані значення. На відміну від встановлення frame, цей метод не скидає frame_progress до 0.0 неявно.
Приклад: Змініть анімацію, зберігаючи ті самі frame та frame_progress:
var current_frame = animated_sprite.get_frame()
var current_progress = animated_sprite.get_frame_progress()
animated_sprite.play("walk_another_skin")
animated_sprite.set_frame_and_progress(current_frame, current_progress)
void stop() 🔗
Зупиняє відтворення поточної анімації. Позицію анімації буде скинуто до 0, а custom_speed до 1.0. Дивіться також pause().