CollisionPolygon2D
Узел, который придает многоугольную форму родительскому объекту CollisionObject2D.
Узел, который придает многоугольную форму родительскому объекту CollisionObject2D.
Узел, который задает форму многоугольника для родительского объекта CollisionObject2D и позволяет его редактировать. Многоугольник может быть вогнутым или выпуклым. Это может придать форму обнаружения объекту Area2D, превратить объект PhysicsBody2D в твердый объект или придать объекту StaticBody2D форму полого объекта.
Предупреждение: Объект CollisionPolygon2D с неравномерным масштабированием, скорее всего, будет вести себя не так, как ожидается. Убедитесь, что его масштаб одинаков по всем осям, и вместо этого отрегулируйте его многоугольник.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
CollisionPolygon2DКонструктор
public CollisionPolygon2D();Свойства6
BuildModeСвойство
public CollisionPolygon2D.BuildModeEnum BuildMode { get; set; }Режим построения столкновений.
DisabledСвойство
public bool Disabled { get; set; }Если true, столкновения не будут обнаружены. Это свойство следует изменить с помощью ReckfellObject.SetDeferred.
OneWayCollisionСвойство
public bool OneWayCollision { get; set; }Если true, то с другими объектами будут сталкиваться только ребра, обращенные вверх относительно вращения CollisionPolygon2D.
Примечание: Это свойство не действует, если этот CollisionPolygon2D является дочерним узлом узла Area2D.
Примечание: Направление одностороннего столкновения можно настроить, установив CollisionPolygon2D.OneWayCollisionDirection.
OneWayCollisionDirectionСвойство
public Vector2 OneWayCollisionDirection { get; set; }Направление, используемое при одностороннем столкновении.
OneWayCollisionMarginСвойство
public float OneWayCollisionMargin { get; set; }Поле, используемое для одностороннего столкновения (в пикселях). Более высокие значения сделают форму толще и будут лучше работать для коллайдеров, которые входят в полигон на высокой скорости.
Многоугольник
PolygonСвойство
public Vector2[] Polygon { get; set; }Список вершин полигона. Каждая точка будет соединена со следующей, а последняя точка будет соединена с первой.
Примечание: Возвращаемые вершины находятся в локальном координатном пространстве заданного CollisionPolygon2D.
Методы13
GetBuildModeCollisionPolygon2D.BuildModeEnum
public CollisionPolygon2D.BuildModeEnum GetBuildMode();CollisionPolygon2D.BuildModeEnumGetOneWayCollisionDirectionVector2
public Vector2 GetOneWayCollisionDirection();Vector2GetOneWayCollisionMarginfloat
public float GetOneWayCollisionMargin();floatGetPolygonVector2[]
public Vector2[] GetPolygon();Vector2[]IsDisabledbool
public bool IsDisabled();boolIsOneWayCollisionEnabledbool
public bool IsOneWayCollisionEnabled();boolSetBuildModevoid
public void SetBuildMode(CollisionPolygon2D.BuildModeEnum buildMode);| Имя | Тип | По умолчанию |
|---|---|---|
buildMode | CollisionPolygon2D.BuildModeEnum | — |
SetDisabledvoid
public void SetDisabled(bool disabled);| Имя | Тип | По умолчанию |
|---|---|---|
disabled | bool | — |
SetOneWayCollisionvoid
public void SetOneWayCollision(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetOneWayCollisionDirectionvoid
public void SetOneWayCollisionDirection(Vector2 direction);| Имя | Тип | По умолчанию |
|---|---|---|
direction | Vector2 | — |
SetOneWayCollisionMarginvoid
public void SetOneWayCollisionMargin(float margin);| Имя | Тип | По умолчанию |
|---|---|---|
margin | float | — |
SetPolygon2 перегрузки
public void SetPolygon(Vector2[] polygon);| Имя | Тип | По умолчанию |
|---|---|---|
polygon | Vector2[] | — |
public void SetPolygon(ReadOnlySpan<Vector2> polygon);| Имя | Тип | По умолчанию |
|---|---|---|
polygon | ReadOnlySpan<Vector2> | — |
CollisionPolygon2D.BuildModeEnum
| Значение | Описание |
|---|---|
Segments = 1 | Столкновения будут включать только края полигона. В этом режиме узел имеет тот же эффект, что и один |
Solids = 0 | Столкновения будут включать полигон и его содержащуюся область. В этом режиме узел имеет тот же эффект, что и несколько узлов |