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

Hérite de : Node2D < CanvasItem < Node < Object

Un nœud qui fournit une forme de polygone à un CollisionObject2D parent.

Description

A node that provides a polygon shape to a CollisionObject2D parent and allows it to be edited. The polygon can be concave or convex. This can give a detection shape to an Area2D, turn a PhysicsBody2D into a solid object, or give a hollow shape to a StaticBody2D.

Warning: A non-uniformly scaled CollisionPolygon2D will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its polygon instead.

Propriétés

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()


Énumérations

enum BuildMode: 🔗

BuildMode BUILD_SOLIDS = 0

Les collisions incluront le polygone et sa zone contenue. Dans ce mode, le nœud a le même effet que plusieurs nœuds ConvexPolygonShape2D, un pour chaque forme convexe dans la décomposition convexe du polygone (mais sans le surcoût de plusieurs nœuds).

BuildMode BUILD_SEGMENTS = 1

Les collisions incluront seulement les arêtes du polygone. Dans ce mode, le nœud a le même effet que plusieurs nœuds ConcavePolygonShape2D faits de segments, avec la restriction que chaque segment (après le premier) commence la où le précédent se termine, et le dernier se termine là où le premier commence (formant un polygone fermé mais creux).


Descriptions des propriétés

BuildMode build_mode = 0 🔗

Mode de construction de la collision.


bool disabled = false 🔗

  • void set_disabled(value: bool)

  • bool is_disabled()

Si true, aucune collision ne sera détectée. Cette propriété devrait être modifiée avec 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()

La marge (en pixels) utilisée pour une collision à sens unique. Des valeurs plus élevées rendront la forme plus épaisse, et fonctionneront mieux pour les objets entrant en collision avec le polygone quand ils vont à une vitesse élevée.


PackedVector2Array polygon = PackedVector2Array() 🔗

La liste des sommets du polygone. Chaque point sera connecté au suivant, et le dernier point sera connecté au premier.

Note : Les sommets renvoyés sont dans l'espace de coordonnées locales du CollisionPolygon2D donné.

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