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...
AnimatedSprite3D
Наследует: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
Узел 2D спрайта в 3D мире, который может использовать несколько 2D текстур для анимации.
Описание
AnimatedSprite3D похож на узел Sprite3D, за исключением того, что он содержит несколько текстур в качестве анимации sprite_frames. Анимации создаются с использованием ресурса SpriteFrames, который позволяет импортировать файлы изображений (или папку, содержащую указанные файлы) для предоставления кадров анимации для спрайта. Ресурс 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() 🔗
Приостанавливает текущую воспроизводимую анимацию. Member 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().