reckfellENGINE

Sprite2D

Универсальный узел спрайта.

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

Универсальный узел спрайта.

Узел, отображающий 2D-текстуру. Отображаемая текстура может быть областью из более крупной текстуры атласа или кадром из анимации спрайт-листа.

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

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

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

Свойства12

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

Если true, текстура центрирована. Примечание: В играх с пиксельной эстетикой текстуры могут выглядеть деформированными при центрировании. Это вызвано их положением между пикселями. Чтобы предотвратить это, установите это свойство на false или рассмотрите возможность включения ProjectSettings.rendering/2d/snap/snap_2d_vertices_to_pixel и ProjectSettings.rendering/2d/snap/snap_2d_transforms_to_pixel.

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

Если true, текстура отражена по горизонтали.

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

Если true, текстура отражена по вертикали.

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

Текущий кадр для отображения из таблицы спрайтов. Sprite2D.Hframes или Sprite2D.Vframes должны быть больше 1. Это свойство автоматически корректируется, когда Sprite2D.Hframes или Sprite2D.Vframes изменяются, чтобы продолжать указывать на тот же визуальный кадр (тот же столбец и строку). Если это невозможно, это значение сбрасывается до 0.

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

Координаты кадра для отображения из таблицы спрайтов. Это псевдоним для свойства Sprite2D.Frame. Sprite2D.Hframes или Sprite2D.Vframes должны быть больше 1.

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

Количество столбцов в таблице спрайтов. При изменении этого свойства Sprite2D.Frame корректируется так, чтобы сохранялась та же визуальная рамка (та же строка и столбец). Если это невозможно, Sprite2D.Frame сбрасывается до 0.

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

Смещение отрисовки текстуры. Примечание: При увеличении Sprite2D.Offset.y в Sprite2D спрайт перемещается вниз на экране (т. е. +Y — вниз).

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

Включает выборку прямоугольника RegionRect вместо всей текстуры. RegionRect задаётся в пикселях исходной текстуры. В проверенном шейдерном пути UV уже включает регион; повторно применять его смещение не нужно.

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

Если true, область за пределами Sprite2D.RegionRect обрезается, чтобы избежать просачивания окружающих пикселей текстуры. Sprite2D.RegionEnabled должно быть true.

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

Прямоугольник источника в пикселях Texture, используемый при RegionEnabled. Это не нормализованный REGION_RECT внутри шейдера и не размер спрайта после Scale. Hframes/Vframes дополнительно делят выбранный прямоугольник на кадры.

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

Texture2D объект для рисования.

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

Количество строк в таблице спрайтов. При изменении этого свойства Sprite2D.Frame корректируется так, чтобы сохранялась та же визуальная рамка (та же строка и столбец). Если это невозможно, Sprite2D.Frame сбрасывается до 0.

Методы26

GetFrameint
# GetFrame
C#
public int GetFrame();
Возвращает int
GetFrameCoordsVector2I
# GetFrameCoords
C#
public Vector2I GetFrameCoords();
Возвращает Vector2I
GetHframesint
# GetHframes
C#
public int GetHframes();
Возвращает int
GetOffsetVector2
# GetOffset
C#
public Vector2 GetOffset();
Возвращает Vector2
GetRectRect2
# GetRect
C#
public Rect2 GetRect();

Возвращает Rect2, представляющий границу Sprite2D в локальных координатах. Пример: Определить, был ли нажат Sprite2D:

C#
public override void _Input(InputEvent @event)
{
    if (@event is InputEventMouseButton inputEventMouse)
    {
        if (inputEventMouse.Pressed && inputEventMouse.ButtonIndex == MouseButton.Left)
        {
            if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))
            {
                ReckfellApi.Print("A click!");
            }
        }
    }
}
Возвращает Rect2
GetRegionRectRect2
# GetRegionRect
C#
public Rect2 GetRegionRect();

Прямоугольник источника в пикселях Texture, используемый при RegionEnabled. Это не нормализованный REGION_RECT внутри шейдера и не размер спрайта после Scale. Hframes/Vframes дополнительно делят выбранный прямоугольник на кадры.

Возвращает Rect2

Сохранённый Rect2 в пикселях текстуры, даже когда RegionEnabled выключен.

GetTextureTexture2D
# GetTexture
C#
public Texture2D GetTexture();
Возвращает Texture2D
GetVframesint
# GetVframes
C#
public int GetVframes();
Возвращает int
IsCenteredbool
# IsCentered
C#
public bool IsCentered();
Возвращает bool
IsFlippedHbool
# IsFlippedH
C#
public bool IsFlippedH();
Возвращает bool
IsFlippedVbool
# IsFlippedV
C#
public bool IsFlippedV();
Возвращает bool
IsPixelOpaquebool
# IsPixelOpaque
C#
public bool IsPixelOpaque(Vector2 pos);

Возвращает true, если пиксель в заданной позиции непрозрачен, false в противном случае. Также возвращает false, если заданная позиция выходит за пределы допустимых значений или Sprite2D.Texture этого спрайта равна null. pos — локальные координаты.

Параметры
ИмяТипПо умолчанию
posVector2—
Возвращает bool
IsRegionEnabledbool
# IsRegionEnabled
C#
public bool IsRegionEnabled();

Включает выборку прямоугольника RegionRect вместо всей текстуры. RegionRect задаётся в пикселях исходной текстуры. В проверенном шейдерном пути UV уже включает регион; повторно применять его смещение не нужно.

Возвращает bool

true, если выбор источника использует RegionRect.

IsRegionFilterClipEnabledbool
# IsRegionFilterClipEnabled
C#
public bool IsRegionFilterClipEnabled();
Возвращает bool
SetCenteredvoid
# SetCentered
C#
public void SetCentered(bool centered);
Параметры
ИмяТипПо умолчанию
centeredbool—
SetFlipHvoid
# SetFlipH
C#
public void SetFlipH(bool flipH);
Параметры
ИмяТипПо умолчанию
flipHbool—
SetFlipVvoid
# SetFlipV
C#
public void SetFlipV(bool flipV);
Параметры
ИмяТипПо умолчанию
flipVbool—
SetFramevoid
# SetFrame
C#
public void SetFrame(int frame);
Параметры
ИмяТипПо умолчанию
frameint—
SetFrameCoordsvoid
# SetFrameCoords
C#
public void SetFrameCoords(Vector2I coords);
Параметры
ИмяТипПо умолчанию
coordsVector2I—
SetHframesvoid
# SetHframes
C#
public void SetHframes(int hframes);
Параметры
ИмяТипПо умолчанию
hframesint—
SetOffsetvoid
# SetOffset
C#
public void SetOffset(Vector2 offset);
Параметры
ИмяТипПо умолчанию
offsetVector2—
SetRegionEnabledvoid
# SetRegionEnabled
C#
public void SetRegionEnabled(bool enabled);

Включает выборку прямоугольника RegionRect вместо всей текстуры. RegionRect задаётся в пикселях исходной текстуры. В проверенном шейдерном пути UV уже включает регион; повторно применять его смещение не нужно.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

true — использовать RegionRect.

SetRegionFilterClipEnabledvoid
# SetRegionFilterClipEnabled
C#
public void SetRegionFilterClipEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetRegionRectvoid
# SetRegionRect
C#
public void SetRegionRect(Rect2 rect);

Прямоугольник источника в пикселях Texture, используемый при RegionEnabled. Это не нормализованный REGION_RECT внутри шейдера и не размер спрайта после Scale. Hframes/Vframes дополнительно делят выбранный прямоугольник на кадры.

Параметры
ИмяТипПо умолчанию
rectRect2—
rect

Смещение и размер в пикселях исходной текстуры, до масштабирования спрайта.

SetTexturevoid
# SetTexture
C#
public void SetTexture(Texture2D texture);
Параметры
ИмяТипПо умолчанию
textureTexture2D—
SetVframesvoid
# SetVframes
C#
public void SetVframes(int vframes);
Параметры
ИмяТипПо умолчанию
vframesint—

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

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

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

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

Выдается при изменении Sprite2D.Texture.

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

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

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

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