Entity2D
Игровой 2D-объект, наследуемый всеми 2D-узлами. Имеет позицию, поворот, масштаб и наклон.
Игровой 2D-объект, наследуемый всеми 2D-узлами. Имеет позицию, поворот, масштаб и наклон.
Игровой 2D-объект с преобразованием (положение, поворот и масштаб). Все 2D-сущности, включая физические объекты и спрайты, наследуются от Entity2D. Используйте Entity2D в качестве родительского сущности для перемещения, масштабирования и поворота дочерних элементов в 2D-проекте. Также дает контроль над порядком рендеринга сущности.
Примечание: Поскольку и Entity2D, и Control наследуются от CanvasItem, они разделяют несколько концепций из класса, таких как свойства CanvasItem.ZIndex и CanvasItem.Visible.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
Entity2DКонструктор
public Entity2D();Свойства12
GlobalPositionСвойство
public Vector2 GlobalPosition { get; set; }Положение начала координат в canvas элемента, без преобразования камеры и окна. Присваивание переводит точку через обратное преобразование родительского CanvasItem; при наличии родителя его базис должен быть обратимым.
GlobalRotationСвойство
public float GlobalRotation { get; set; }Глобальное вращение в радианах. См. также Entity2D.Rotation.
GlobalRotationDegreesСвойство
public float GlobalRotationDegrees { get; set; }Вспомогательное свойство для доступа к Entity2D.GlobalRotation в градусах вместо радиан. См. также Entity2D.RotationDegrees.
GlobalScaleСвойство
public Vector2 GlobalScale { get; set; }Глобальный масштаб. См. также Entity2D.Scale.
GlobalSkewСвойство
public float GlobalSkew { get; set; }Глобальный перекос в радианах. См. также Entity2D.Skew.
GlobalTransformСвойство
public Transform2D GlobalTransform { get; set; }Аффинное преобразование из локальных координат в canvas с учётом наследуемых CanvasItem-предков. Не включает Camera2D, CanvasLayer и конечное преобразование окна; для этапа canvas используйте GetGlobalTransformWithCanvas.
PositionСвойство
public Vector2 Position { get; set; }Положение начала координат в локальной системе родительского CanvasItem. Поворот и масштаб родителя влияют на итоговую GlobalPosition. При TopLevel преобразование родительского CanvasItem не наследуется.
RotationСвойство
public float Rotation { get; set; }Вращение в радианах относительно родителя сущности. См. также Entity2D.GlobalRotation.
Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте Entity2D.RotationDegrees.
RotationDegreesСвойство
public float RotationDegrees { get; set; }Вспомогательное свойство для доступа к Entity2D.Rotation в градусах вместо радиан. См. также Entity2D.GlobalRotationDegrees.
ScaleСвойство
public Vector2 Scale { get; set; }Масштаб сущности относительно родительского сущности. Немасштабированное значение: (1, 1). См. также Entity2D.GlobalScale.
Примечание: Отрицательные масштабы X в 2D не разлагаются из матрицы преобразования. Из-за способа представления масштаба с помощью матриц преобразования в Reckfell отрицательные масштабы на оси X будут изменены на отрицательные масштабы на оси Y и поворот на 180 градусов при разложении.
SkewСвойство
public float Skew { get; set; }Если установлено ненулевое значение, наклоняет сущность в одном или другом направлении. Это можно использовать для псевдо-3D эффектов. См. также Entity2D.GlobalSkew.
Примечание: Наклон выполняется только по оси X и между вращением и масштабированием.
Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте skew = deg_to_rad(value_in_degrees).
TransformСвойство
public Transform2D Transform { get; set; }Локальное аффинное преобразование элемента: базис и перенос относительно родительского CanvasItem. Для вычисления цепочки используется порядок parentTransform * childTransform.
Методы33
ApplyScalevoid
public void ApplyScale(Vector2 ratio);Умножает текущий масштаб на вектор ratio.
| Имя | Тип | По умолчанию |
|---|---|---|
ratio | Vector2 | — |
GetAngleTofloat
public float GetAngleTo(Vector2 point);Возвращает угол в радианах для мировой точки относительно этой Entity2D. Реализация берёт угол вектора ToLocal(point), покомпонентно умноженного на Scale сущности. Передавайте мировые координаты точки; результат зависит от текущего преобразования. См. также Entity2D.LookAt.
| Имя | Тип | По умолчанию |
|---|---|---|
point | Vector2 | — |
floatGetGlobalPositionVector2
public Vector2 GetGlobalPosition();Vector2GetGlobalRotationfloat
public float GetGlobalRotation();floatGetGlobalRotationDegreesfloat
public float GetGlobalRotationDegrees();floatGetGlobalScaleVector2
public Vector2 GetGlobalScale();Vector2GetGlobalSkewfloat
public float GetGlobalSkew();floatGetPositionVector2
public Vector2 GetPosition();Vector2GetRelativeTransformToParentTransform2D
public Transform2D GetRelativeTransformToParent(Entity parent);Составляет преобразование до указанного предка через цепочку Entity2D; для самого объекта возвращает единичное преобразование. Это не поиск преобразования между произвольными соседями и не учёт canvas/камеры.
| Имя | Тип | По умолчанию |
|---|---|---|
parent | Entity | — |
parentСам объект или его предок, достижимый через цепочку Entity2D.
Transform2DПреобразование из локальной системы в систему указанного предка Entity2D.
GetRotationfloat
public float GetRotation();floatGetRotationDegreesfloat
public float GetRotationDegrees();floatGetScaleVector2
public Vector2 GetScale();Vector2GetSkewfloat
public float GetSkew();floatGlobalTranslatevoid
public void GlobalTranslate(Vector2 offset);Добавляет вектор offset к глобальной позиции сущности.
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |
LookAtvoid
public void LookAt(Vector2 point);Поворачивает сущность так, чтобы его локальная ось +X указывала на point, которая, как ожидается, будет использовать глобальные координаты. Этот метод представляет собой комбинацию методов Entity2D.Rotate и Entity2D.GetAngleTo.
point не должен совпадать с положением сущности, иначе сущность всегда будет смотреть вправо.
| Имя | Тип | По умолчанию |
|---|---|---|
point | Vector2 | — |
MoveLocalXvoid
public void MoveLocalX(float delta, bool scaled = false);Применяет локальное смещение по оси X сущности на основе delta. Если scaled равен false, нормализует движение так, чтобы оно не зависело от Entity2D.Scale сущности.
| Имя | Тип | По умолчанию |
|---|---|---|
delta | float | — |
scaled | bool | false |
MoveLocalYvoid
public void MoveLocalY(float delta, bool scaled = false);Применяет локальное смещение по оси Y сущности на основе delta. Если scaled равен false, нормализует движение так, чтобы оно не зависело от Entity2D.Scale сущности.
| Имя | Тип | По умолчанию |
|---|---|---|
delta | float | — |
scaled | bool | false |
Rotatevoid
public void Rotate(float radians);Применяет вращение к сущности в радианах, начиная с его текущего положения. Это эквивалентно rotation += radians.
| Имя | Тип | По умолчанию |
|---|---|---|
radians | float | — |
SetGlobalPositionvoid
public void SetGlobalPosition(Vector2 position);| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
SetGlobalRotationvoid
public void SetGlobalRotation(float radians);| Имя | Тип | По умолчанию |
|---|---|---|
radians | float | — |
SetGlobalRotationDegreesvoid
public void SetGlobalRotationDegrees(float degrees);| Имя | Тип | По умолчанию |
|---|---|---|
degrees | float | — |
SetGlobalScalevoid
public void SetGlobalScale(Vector2 scale);| Имя | Тип | По умолчанию |
|---|---|---|
scale | Vector2 | — |
SetGlobalSkewvoid
public void SetGlobalSkew(float radians);| Имя | Тип | По умолчанию |
|---|---|---|
radians | float | — |
SetGlobalTransformvoid
public void SetGlobalTransform(Transform2D xform);| Имя | Тип | По умолчанию |
|---|---|---|
xform | Transform2D | — |
SetPositionvoid
public void SetPosition(Vector2 position);| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
SetRotationvoid
public void SetRotation(float radians);| Имя | Тип | По умолчанию |
|---|---|---|
radians | float | — |
SetRotationDegreesvoid
public void SetRotationDegrees(float degrees);| Имя | Тип | По умолчанию |
|---|---|---|
degrees | float | — |
SetScalevoid
public void SetScale(Vector2 scale);| Имя | Тип | По умолчанию |
|---|---|---|
scale | Vector2 | — |
SetSkewvoid
public void SetSkew(float radians);| Имя | Тип | По умолчанию |
|---|---|---|
radians | float | — |
SetTransformvoid
public void SetTransform(Transform2D xform);| Имя | Тип | По умолчанию |
|---|---|---|
xform | Transform2D | — |
ToGlobalVector2
public Vector2 ToGlobal(Vector2 localPoint);Переводит локальную точку элемента в координаты его canvas через GlobalTransform. Не добавляет преобразование камеры или окна. Передача собственного Position вместо локальной точки обычно повторно применяет смещение.
| Имя | Тип | По умолчанию |
|---|---|---|
localPoint | Vector2 | — |
localPointТочка относительно самого Entity2D, не Position относительно родителя.
Vector2Точка в canvas элемента, не позиция экрана.
ToLocalVector2
public Vector2 ToLocal(Vector2 globalPoint);Переводит точку из canvas элемента в его локальные координаты обратным аффинным GlobalTransform. Это не преобразование экранной позиции ОС или логической точки viewport с камерой; базис должен быть обратимым.
| Имя | Тип | По умолчанию |
|---|---|---|
globalPoint | Vector2 | — |
globalPointТочка в canvas этого элемента без преобразования камеры.
Vector2Точка в локальной системе Entity2D.
Translatevoid
public void Translate(Vector2 offset);Перемещает сущность на заданное значение offset в локальных координатах. Это эквивалентно position += offset.
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |