AnimatedSprite3D
Узел 2D спрайта в 3D мире, который может использовать несколько 2D текстур для анимации.
Узел 2D спрайта в 3D мире, который может использовать несколько 2D текстур для анимации.
AnimatedSprite3D похож на узел Sprite3D, за исключением того, что он содержит несколько текстур в качестве анимации AnimatedSprite3D.SpriteFrames. Анимации создаются с использованием ресурса SpriteFrames, который позволяет импортировать файлы изображений (или папку, содержащую указанные файлы) для предоставления кадров анимации для спрайта. Ресурс SpriteFrames можно настроить в редакторе через нижнюю панель SpriteFrames.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AnimatedSprite3DКонструктор
public AnimatedSprite3D();Свойства6
AnimationСвойство
public StringName Animation { get; set; }Текущая анимация из ресурса AnimatedSprite3D.SpriteFrames. Если это значение изменяется, то сбрасываются счетчик AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress.
AutoplayСвойство
public string Autoplay { get; set; }Ключ анимации, воспроизводимой при загрузке сцены.
FrameСвойство
public int Frame { get; set; }Индекс отображаемого кадра анимации. Установка этого свойства также сбрасывает AnimatedSprite3D.FrameProgress. Если это нежелательно, используйте AnimatedSprite3D.SetFrameAndProgress.
FrameProgressСвойство
public float FrameProgress { get; set; }Значение прогресса между 0.0 и 1.0 до тех пор, пока текущий кадр не перейдет к следующему кадру. Если анимация воспроизводится в обратном направлении, значение переходит от 1.0 к 0.0.
SpeedScaleСвойство
public float SpeedScale { get; set; }Коэффициент масштабирования скорости. Например, если это значение равно 1, то анимация воспроизводится с нормальной скоростью. Если это 0.5, то она воспроизводится с половинной скоростью. Если это 2, то она воспроизводится с двойной скоростью.
Если установлено отрицательное значение, анимация воспроизводится в обратном направлении. Если установлено значение 0, анимация не будет продвигаться.
SpriteFramesСвойство
public SpriteFrames SpriteFrames { get; set; }Ресурс SpriteFrames, содержащий анимацию(и). Позволяет загружать, редактировать, очищать, делать уникальными и сохранять состояния ресурса SpriteFrames.
Методы19
GetAnimationStringName
public StringName GetAnimation();StringNameGetAutoplaystring
public string GetAutoplay();stringGetFrameint
public int GetFrame();intGetFrameProgressfloat
public float GetFrameProgress();floatGetPlayingSpeedfloat
public float GetPlayingSpeed();Возвращает фактическую скорость воспроизведения текущей анимации или 0, если не воспроизводится. Эта скорость — свойство AnimatedSprite3D.SpeedScale, умноженное на аргумент custom_speed, указанный при вызове метода AnimatedSprite3D.Play.
Возвращает отрицательное значение, если текущая анимация воспроизводится в обратном направлении.
floatGetSpeedScalefloat
public float GetSpeedScale();floatGetSpriteFramesSpriteFrames
public SpriteFrames GetSpriteFrames();SpriteFramesIsPlayingbool
public bool IsPlaying();Возвращает true, если в данный момент воспроизводится анимация (даже если AnimatedSprite3D.SpeedScale и/или custom_speed равны 0).
boolPausevoid
public void Pause();Приостановить игровую анимацию. AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress будет сохранен и призван AnimatedSprite3D.Play или AnimatedSprite3D.PlayBackwards Без возражений анимация возобновится с нынешней позиции воспроизведения.
См. также AnimatedSprite3D.Stop.
Playvoid
public void Play(StringName name = null, float customSpeed = 1f, bool fromEnd = false);Воспроизводит анимацию с ключом name. Если custom_speed отрицательный, а from_end равен true, анимация будет воспроизводиться в обратном направлении (что эквивалентно вызову AnimatedSprite3D.PlayBackwards).
Если этот метод вызывается с той же анимацией name или без параметра name, назначенная анимация возобновит воспроизведение, если она была приостановлена.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | null |
customSpeed | float | 1f |
fromEnd | bool | false |
PlayBackwardsvoid
public void PlayBackwards(StringName name = null);Воспроизводит анимацию с ключом name в обратном порядке.
Этот метод является сокращением для AnimatedSprite3D.Play с custom_speed = -1.0 и from_end = true, поэтому см. его описание для получения дополнительной информации.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | null |
SetAnimationvoid
public void SetAnimation(StringName name);| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
SetAutoplayvoid
public void SetAutoplay(string name);| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
SetFramevoid
public void SetFrame(int frame);| Имя | Тип | По умолчанию |
|---|---|---|
frame | int | — |
SetFrameAndProgressvoid
public void SetFrameAndProgress(int frame, float progress);Устанавливает AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress на заданные значения. В отличие от установки AnimatedSprite3D.Frame, этот метод не сбрасывает AnimatedSprite3D.FrameProgress на 0.0 неявно.
Пример: Измените анимацию, сохранив те же AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress:
| Имя | Тип | По умолчанию |
|---|---|---|
frame | int | — |
progress | float | — |
SetFrameProgressvoid
public void SetFrameProgress(float progress);| Имя | Тип | По умолчанию |
|---|---|---|
progress | float | — |
SetSpeedScalevoid
public void SetSpeedScale(float speedScale);| Имя | Тип | По умолчанию |
|---|---|---|
speedScale | float | — |
SetSpriteFramesvoid
public void SetSpriteFrames(SpriteFrames spriteFrames);| Имя | Тип | По умолчанию |
|---|---|---|
spriteFrames | SpriteFrames | — |
Stopvoid
public void Stop();Останавливает текущую воспроизводимую анимацию. Позиция анимации сбрасывается на 0, а custom_speed сбрасывается на 1.0. См. также AnimatedSprite3D.Pause.
Сигналы и события5
AnimationChangedСобытие
public event Action AnimationChanged;Вызывается при изменении AnimatedSprite3D.Animation.
AnimationFinishedСобытие
public event Action AnimationFinished;Выдается, когда анимация достигает конца или начала, если она воспроизводится в обратном порядке. Когда анимация заканчивается, воспроизведение приостанавливается. Примечание: Этот сигнал не выдается, если анимация зациклена.
AnimationLoopedСобытие
public event Action AnimationLooped;Вызывается при зацикливании анимации.
FrameChangedСобытие
public event Action FrameChanged;Выдается при изменении AnimatedSprite3D.Frame.
SpriteFramesChangedСобытие
public event Action SpriteFramesChanged;Вызывается при изменении AnimatedSprite3D.SpriteFrames.