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.

AnimatedSprite3D

Успадковує: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Вузол 2D-спрайту в 3D-світі, який може використовувати кілька 2D-текстур для анімації.

Опис

AnimatedSprite3D схожий на вузол Sprite3D, за винятком того, що він містить декілька текстур у вигляді анімації sprite_frames. Анімація створюється за допомогою ресурсу SpriteFrames, який дозволяє імпортувати файли зображень (або теки, що містять ці файли) для створення кадрів анімації для цього спрайту. Ресурс SpriteFrames можна налаштувати у редакторі за допомогою нижньої панелі Кадри Спрайту.

Посібники

Властивості

StringName

animation

&"default"

String

autoplay

""

int

frame

0

float

frame_progress

0.0

float

speed_scale

1.0

SpriteFrames

sprite_frames

Методи

float

get_playing_speed() const

bool

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 обнуляються.


String autoplay = "" 🔗

  • void set_autoplay(value: String)

  • String get_autoplay()

Ключ анімації для відтворення при завантаженні сцени.


int frame = 0 🔗

  • void set_frame(value: int)

  • int get_frame()

Індекс відображуваного кадру анімації. Встановлення цієї властивості також скидає frame_progress. Якщо це не бажано, використовуйте set_frame_and_progress().


float frame_progress = 0.0 🔗

  • void set_frame_progress(value: float)

  • float get_frame_progress()

Значення прогресу між 0.0 і 1.0 до моменту переходу до наступного кадру. Якщо анімація відтворюється у зворотному напрямку, значення переходить від 1.0 до 0.0.


float speed_scale = 1.0 🔗

  • void set_speed_scale(value: float)

  • float get_speed_scale()

Коефіцієнт масштабування швидкості. Наприклад, якщо це значення 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().

Повертає від'ємне значення, якщо поточна анімація відтворюється у зворотному напрямку.


bool is_playing() const 🔗

Повертає 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().