CollisionPolygon2D
Hérite de : Node2D < CanvasItem < Node < Object
Un nœud qui fournit une forme de polygone à un CollisionObject2D parent.
Description
Un nœud qui fournit une forme de polygone à un CollisionObject2D parent et permet de l'éditer. Le polygone peut être concave ou convexe. Cela peut donner une forme de détection à une Area2D, transformer un PhysicsBody2D en un objet solide, ou donner une forme creuse à un StaticBody2D.
Attention : UnCollisionPolygon2D avec une échelle non uniforme ne se comportera probablement pas comme prévu. Assurez-vous de garder la même échelle sur tous les axes et ajustez son polygone à la place.
Propriétés
|
||
|
||
|
||
|
||
|
É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
Mode de construction de la collision.
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 🔗
Si true, seuls les bords qui font face, par rapport à la rotation du CollisionPolygon2D, entreront en collision avec d'autres objets.
Note : Cette propriété n'a aucun effet si cette CollisionPolygon2D est un enfant d'un nœud Area2D.
float one_way_collision_margin = 1.0 🔗
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() 🔗
void set_polygon(value: PackedVector2Array)
PackedVector2Array get_polygon()
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.