reckfellENGINE

AnimatedSprite3D

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

На этой странице
class AnimatedSprite3DReckfellSharpНаследует SpriteBase3D

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

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

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

AnimatedSprite3DКонструктор
# AnimatedSprite3D
C#
public AnimatedSprite3D();

Свойства6

AnimationСвойство
# Animation
C#
public StringName Animation { get; set; }

Текущая анимация из ресурса AnimatedSprite3D.SpriteFrames. Если это значение изменяется, то сбрасываются счетчик AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress.

AutoplayСвойство
# Autoplay
C#
public string Autoplay { get; set; }

Ключ анимации, воспроизводимой при загрузке сцены.

FrameСвойство
# Frame
C#
public int Frame { get; set; }

Индекс отображаемого кадра анимации. Установка этого свойства также сбрасывает AnimatedSprite3D.FrameProgress. Если это нежелательно, используйте AnimatedSprite3D.SetFrameAndProgress.

FrameProgressСвойство
# FrameProgress
C#
public float FrameProgress { get; set; }

Значение прогресса между 0.0 и 1.0 до тех пор, пока текущий кадр не перейдет к следующему кадру. Если анимация воспроизводится в обратном направлении, значение переходит от 1.0 к 0.0.

SpeedScaleСвойство
# SpeedScale
C#
public float SpeedScale { get; set; }

Коэффициент масштабирования скорости. Например, если это значение равно 1, то анимация воспроизводится с нормальной скоростью. Если это 0.5, то она воспроизводится с половинной скоростью. Если это 2, то она воспроизводится с двойной скоростью. Если установлено отрицательное значение, анимация воспроизводится в обратном направлении. Если установлено значение 0, анимация не будет продвигаться.

SpriteFramesСвойство
# SpriteFrames
C#
public SpriteFrames SpriteFrames { get; set; }

Ресурс SpriteFrames, содержащий анимацию(и). Позволяет загружать, редактировать, очищать, делать уникальными и сохранять состояния ресурса SpriteFrames.

Методы19

GetAnimationStringName
# GetAnimation
C#
public StringName GetAnimation();
Возвращает StringName
GetAutoplaystring
# GetAutoplay
C#
public string GetAutoplay();
Возвращает string
GetFrameint
# GetFrame
C#
public int GetFrame();
Возвращает int
GetFrameProgressfloat
# GetFrameProgress
C#
public float GetFrameProgress();
Возвращает float
GetPlayingSpeedfloat
# GetPlayingSpeed
C#
public float GetPlayingSpeed();

Возвращает фактическую скорость воспроизведения текущей анимации или 0, если не воспроизводится. Эта скорость — свойство AnimatedSprite3D.SpeedScale, умноженное на аргумент custom_speed, указанный при вызове метода AnimatedSprite3D.Play. Возвращает отрицательное значение, если текущая анимация воспроизводится в обратном направлении.

Возвращает float
GetSpeedScalefloat
# GetSpeedScale
C#
public float GetSpeedScale();
Возвращает float
GetSpriteFramesSpriteFrames
# GetSpriteFrames
C#
public SpriteFrames GetSpriteFrames();
Возвращает SpriteFrames
IsPlayingbool
# IsPlaying
C#
public bool IsPlaying();

Возвращает true, если в данный момент воспроизводится анимация (даже если AnimatedSprite3D.SpeedScale и/или custom_speed равны 0).

Возвращает bool
Pausevoid
# Pause
C#
public void Pause();

Приостановить игровую анимацию. AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress будет сохранен и призван AnimatedSprite3D.Play или AnimatedSprite3D.PlayBackwards Без возражений анимация возобновится с нынешней позиции воспроизведения. См. также AnimatedSprite3D.Stop.

Playvoid
# Play
C#
public void Play(StringName name = null, float customSpeed = 1f, bool fromEnd = false);

Воспроизводит анимацию с ключом name. Если custom_speed отрицательный, а from_end равен true, анимация будет воспроизводиться в обратном направлении (что эквивалентно вызову AnimatedSprite3D.PlayBackwards). Если этот метод вызывается с той же анимацией name или без параметра name, назначенная анимация возобновит воспроизведение, если она была приостановлена.

Параметры
ИмяТипПо умолчанию
nameStringNamenull
customSpeedfloat1f
fromEndboolfalse
PlayBackwardsvoid
# PlayBackwards
C#
public void PlayBackwards(StringName name = null);

Воспроизводит анимацию с ключом name в обратном порядке. Этот метод является сокращением для AnimatedSprite3D.Play с custom_speed = -1.0 и from_end = true, поэтому см. его описание для получения дополнительной информации.

Параметры
ИмяТипПо умолчанию
nameStringNamenull
SetAnimationvoid
# SetAnimation
C#
public void SetAnimation(StringName name);
Параметры
ИмяТипПо умолчанию
nameStringName—
SetAutoplayvoid
# SetAutoplay
C#
public void SetAutoplay(string name);
Параметры
ИмяТипПо умолчанию
namestring—
SetFramevoid
# SetFrame
C#
public void SetFrame(int frame);
Параметры
ИмяТипПо умолчанию
frameint—
SetFrameAndProgressvoid
# SetFrameAndProgress
C#
public void SetFrameAndProgress(int frame, float progress);

Устанавливает AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress на заданные значения. В отличие от установки AnimatedSprite3D.Frame, этот метод не сбрасывает AnimatedSprite3D.FrameProgress на 0.0 неявно. Пример: Измените анимацию, сохранив те же AnimatedSprite3D.Frame и AnimatedSprite3D.FrameProgress:

Параметры
ИмяТипПо умолчанию
frameint—
progressfloat—
SetFrameProgressvoid
# SetFrameProgress
C#
public void SetFrameProgress(float progress);
Параметры
ИмяТипПо умолчанию
progressfloat—
SetSpeedScalevoid
# SetSpeedScale
C#
public void SetSpeedScale(float speedScale);
Параметры
ИмяТипПо умолчанию
speedScalefloat—
SetSpriteFramesvoid
# SetSpriteFrames
C#
public void SetSpriteFrames(SpriteFrames spriteFrames);
Параметры
ИмяТипПо умолчанию
spriteFramesSpriteFrames—
Stopvoid
# Stop
C#
public void Stop();

Останавливает текущую воспроизводимую анимацию. Позиция анимации сбрасывается на 0, а custom_speed сбрасывается на 1.0. См. также AnimatedSprite3D.Pause.

Сигналы и события5

AnimationChangedСобытие
# AnimationChanged
C#
public event Action AnimationChanged;

Вызывается при изменении AnimatedSprite3D.Animation.

AnimationFinishedСобытие
# AnimationFinished
C#
public event Action AnimationFinished;

Выдается, когда анимация достигает конца или начала, если она воспроизводится в обратном порядке. Когда анимация заканчивается, воспроизведение приостанавливается. Примечание: Этот сигнал не выдается, если анимация зациклена.

AnimationLoopedСобытие
# AnimationLooped
C#
public event Action AnimationLooped;

Вызывается при зацикливании анимации.

FrameChangedСобытие
# FrameChanged
C#
public event Action FrameChanged;

Выдается при изменении AnimatedSprite3D.Frame.

SpriteFramesChangedСобытие
# SpriteFramesChanged
C#
public event Action SpriteFramesChanged;

Вызывается при изменении AnimatedSprite3D.SpriteFrames.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.