reckfellENGINE

SegmentShape2D

Отрезок между двумя локальными точками, без толщины.

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

SegmentShape2D задаёт один отрезок с концами A и B. По умолчанию A=(0,0), B=(0,10). B — координата второго конца, не смещение от A. Например, A=(-10,0), B=(10,0) даёт горизонтальный отрезок длиной 20. Используйте конечные различные концы.

Физическая форма не имеет толщины. Толстая линия диагностической отрисовки не превращает её в прямоугольник: в проверке круг радиуса 1 пересекал линию при центре (0,0.5), но не при (0,2). Для стены с толщиной используйте RectangleShape2D или выпуклый полигон.

GetRect() охватывает локальные A и B. У горизонтального отрезка высота границ равна 0, у вертикального ширина равна 0; это допустимый результат, а не ошибка загрузки. Для столкновения используйте запрос формы, а не наличие площади у прямоугольника. A/B и SetA/SetB обновляют одну геометрию; Changed испускается только при новом значении.

Для коллайдера назначьте ресурс Shape у CollisionShape2D, который должен быть непосредственным дочерним Entity CollisionObject2D. Создание ресурса само по себе не добавляет тело в мир. Общий ресурс меняется у всех пользователей.

Проверены начальные значения, оба setter/getter, события, локальные границы и прямые пересечения с кругом. Не проверялись физическая реакция тел, быстрые движения, визуальное качество и другие backend.

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

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

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

Создаёт отрезок от A=(0,0) до B=(0,10), без физической толщины. Не создаёт тело или видимую линию автоматически.

Свойства2

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

Локальная координата первого конца, изначально (0,0). Второй конец хранится в B; это не позиция Entity в мире. Задавайте конечные разные концы. Изменение обновляет физическую форму и испускает Changed; повтор значения — нет.

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

Локальная координата второго конца, изначально (0,10). Это точка, а не размер прямоугольника или вектор от A. Задавайте конечное значение, отличное от A. Изменение испускает Changed; повтор значения — нет.

Методы4

GetAVector2
# GetA
C#
public Vector2 GetA();

Сохранённая локальная координата первого конца.

Возвращает Vector2

Сохранённая локальная координата первого конца.

GetBVector2
# GetB
C#
public Vector2 GetB();

Сохранённая локальная координата второго конца, не смещение от A.

Возвращает Vector2

Сохранённая локальная координата второго конца, не смещение от A.

SetAvoid
# SetA
C#
public void SetA(Vector2 a);

Локальная координата первого конца, изначально (0,0). Второй конец хранится в B; это не позиция Entity в мире. Задавайте конечные разные концы. Изменение обновляет физическую форму и испускает Changed; повтор значения — нет.

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

Новая локальная координата A; конечная и отличная от B.

SetBvoid
# SetB
C#
public void SetB(Vector2 b);

Локальная координата второго конца, изначально (0,10). Это точка, а не размер прямоугольника или вектор от A. Задавайте конечное значение, отличное от A. Изменение испускает Changed; повтор значения — нет.

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

Новая локальная координата B; конечная и отличная от A, не смещение от неё.

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

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

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

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