Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

CollisionPolygon2D

Успадковує: Node2D < CanvasItem < Node < Object

Вузлом, який надає полігонну форму до CollisionObject2D батьків.

Опис

Вузол, який надає батьківському об'єкту CollisionObject2D форму полігону та дозволяє його редагування. Полігон може бути увігнутим або опуклим. Це може надати форму виявлення Area2D, перетворити PhysicsBody2D на твердий об'єкт або надати порожнисту форму StaticBody2D.

Попередження: Нерівномірно масштабований CollisionPolygon2D, ймовірно, не працюватиме належним чином. Переконайтеся, що його масштаб однаковий на всіх осях, і натомість налаштуйте його полігон.

Властивості

BuildMode

build_mode

0

bool

disabled

false

bool

one_way_collision

false

Vector2

one_way_collision_direction

Vector2(0, 1)

float

one_way_collision_margin

1.0

PackedVector2Array

polygon

PackedVector2Array()


Переліки

enum BuildMode: 🔗

BuildMode BUILD_SOLIDS = 0

До послуг гостей полігон і його місткість. У цьому режимі вузол має той же ефект, як кілька ConvexPolygonShape2D вузлів, один для кожної опуклої форми в опуклій декомпозиції полігону (але без накладки декількох вузлів).

BuildMode BUILD_SEGMENTS = 1

Випадки тільки включають в себе полігонні краї. У цьому режимі вузол має той же ефект, як єдиний ConcavePolygonShape2D, виготовлений з сегментів, з обмеженням, що кожен сегмент (після першого) починається, де попередні кінці, і останні один кінець, де перший починає (формування закритого, але порожнистого полігону).


Описи властивостей

BuildMode build_mode = 0 🔗

Режим зіткнення.


bool disabled = false 🔗

  • void set_disabled(value: bool)

  • bool is_disabled()

Якщо true, колізії не будуть виявлені. Цю властивість слід змінити на Object.set_deferred().


bool one_way_collision = false 🔗

  • void set_one_way_collision(value: bool)

  • bool is_one_way_collision_enabled()

If true, only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.

Note: This property has no effect if this CollisionPolygon2D is a child of an Area2D node.

Note: The one way collision direction can be configured by setting one_way_collision_direction.


Vector2 one_way_collision_direction = Vector2(0, 1) 🔗

  • void set_one_way_collision_direction(value: Vector2)

  • Vector2 get_one_way_collision_direction()

The direction used for one-way collision.


float one_way_collision_margin = 1.0 🔗

  • void set_one_way_collision_margin(value: float)

  • float get_one_way_collision_margin()

Пошта, що використовується для одностороннього зіткнення (у пікселях). Більшість значень зроблять форму більш товстою, і працювати краще для комірок, які надходять в полігон на високій швидкості.


PackedVector2Array polygon = PackedVector2Array() 🔗

  • void set_polygon(value: PackedVector2Array)

  • PackedVector2Array get_polygon()

Перелік вершин полігону. Кожна точка буде підключена до наступного, а кінцева точка буде підключена до першого.

Примітка: Повернуті вершини знаходяться в локальному координатному просторі даної CollisionPolygon2D.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.