CollisionPolygon2D
Наследует: Node2D < CanvasItem < Node < Object
Узел, который придает многоугольную форму родительскому объекту CollisionObject2D.
Описание
Узел, который предоставляет форму многоугольника для родительского CollisionObject2D и позволяет редактировать его. Многоугольник может быть вогнутым или выпуклым. Это может дать форму обнаружения для Area2D, превратить PhysicsBody2D в сплошной объект или дать полую форму для StaticBody2D.
Предупреждение: Неравномерно масштабированный CollisionPolygon2D, скорее всего, не будет вести себя так, как ожидается. Убедитесь, что его масштаб одинаковый по всем осям, и вместо этого настройте его многоугольник.
Свойства
|
||
|
||
|
||
|
||
|
Перечисления
enum BuildMode: 🔗
BuildMode BUILD_SOLIDS = 0
Столкновения будут включать полигон и его содержащуюся область. В этом режиме узел имеет тот же эффект, что и несколько узлов ConvexPolygonShape2D, по одному для каждой выпуклой формы в выпуклом разложении полигона (но без накладных расходов нескольких узлов).
BuildMode BUILD_SEGMENTS = 1
Столкновения будут включать только края полигона. В этом режиме узел имеет тот же эффект, что и один ConcavePolygonShape2D, состоящий из сегментов, с ограничением, что каждый сегмент (после первого) начинается там, где заканчивается предыдущий, а последний заканчивается там, где начинается первый (образуя замкнутый, но полый полигон).
Описания свойств
Режим построения столкновений.
Если true, столкновения не будут обнаружены. Это свойство следует изменить с помощью Object.set_deferred().
bool one_way_collision = false 🔗
Если true, только ребра, обращенные вверх относительно поворота CollisionPolygon2D, будут сталкиваться с другими объектами.
Примечание: Это свойство не имеет эффекта, если этот CollisionPolygon2D является дочерним узлом Area2D.
float one_way_collision_margin = 1.0 🔗
Поле, используемое для одностороннего столкновения (в пикселях). Более высокие значения сделают форму толще и будут лучше работать для коллайдеров, которые входят в полигон на высокой скорости.
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.