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.

Line2D

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

Une polyligne 2D qui peut être optionnellement texturée.

Description

Ce nœud dessine une polyligne 2D, c'est-à-dire une forme composée de plusieurs points reliés par des segments. Line2D n'est pas une polyligne mathématique, c'est-à-dire que les segments ne sont pas infiniment minces. Elle est destinée au rendu et peut être optionnellement coloriée et texturée.

Attention : Certaines configurations peuvent être impossibles à bien dessiner, comme des angles très tranchants. Dans ces situations, le nœud utilise une logique de dessin de repli pour paraître décent.

Note : Line2D est dessiné à l'aide d'un maillage 2D.

Tutoriels

Propriétés

bool

antialiased

false

LineCapMode

begin_cap_mode

0

bool

closed

false

Color

default_color

Color(1, 1, 1, 1)

LineCapMode

end_cap_mode

0

Gradient

gradient

LineJointMode

joint_mode

0

PackedVector2Array

points

PackedVector2Array()

int

round_precision

8

float

sharp_limit

2.0

Texture2D

texture

LineTextureMode

texture_mode

0

float

width

10.0

Curve

width_curve

Méthodes

void

add_point(position: Vector2, index: int = -1)

void

clear_points()

int

get_point_count() const

Vector2

get_point_position(index: int) const

void

remove_point(index: int)

void

set_point_position(index: int, position: Vector2)


Énumérations

enum LineJointMode: 🔗

LineJointMode LINE_JOINT_SHARP = 0

Makes the polyline's joints pointy, connecting the sides of the two segments by extending them until they intersect. If the rotation of a joint is too big (based on sharp_limit), the joint falls back to LINE_JOINT_BEVEL to prevent very long miters.

LineJointMode LINE_JOINT_BEVEL = 1

Rend les liaisons de la polyligne biseautées/chanfreinées, reliant les côtés des deux segments avec une ligne simple.

LineJointMode LINE_JOINT_ROUND = 2

Rend les liaisons de la polyligne arrondies, reliant les côtés des deux segments avec un arc. Le détail de cet arc dépend de round_precision.


enum LineCapMode: 🔗

LineCapMode LINE_CAP_NONE = 0

Ne dessine pas de bouchon de ligne.

LineCapMode LINE_CAP_BOX = 1

Dessine le bouchon de ligne comme une boîte, prolongeant légèrement le premier / dernier segment.

LineCapMode LINE_CAP_ROUND = 2

Dessine le bouchon de ligne comme un demi-cercle attaché au premier/dernier segment.


enum LineTextureMode: 🔗

LineTextureMode LINE_TEXTURE_NONE = 0

Takes the left pixels of the texture and renders them over the whole polyline.

LineTextureMode LINE_TEXTURE_TILE = 1

Tiles the texture over the polyline. CanvasItem.texture_repeat of the Line2D node must be CanvasItem.TEXTURE_REPEAT_ENABLED or CanvasItem.TEXTURE_REPEAT_MIRROR for it to work properly.

LineTextureMode LINE_TEXTURE_STRETCH = 2

Stretches the texture across the polyline. CanvasItem.texture_repeat of the Line2D node must be CanvasItem.TEXTURE_REPEAT_DISABLED for best results.


Descriptions des propriétés

bool antialiased = false 🔗

  • void set_antialiased(value: bool)

  • bool get_antialiased()

If true, the polyline's border will be anti-aliased.

Note: Line2D is not accelerated by batching when being anti-aliased.


LineCapMode begin_cap_mode = 0 🔗

Le style du début de la polyligne, si closed vaut false.


bool closed = false 🔗

  • void set_closed(value: bool)

  • bool is_closed()

Si true et que la polyligne a plus de 2 points, le dernier point et le premier seront connectés par un segment.

Note : La forme du segment de fermeture n'est pas garantie d'être transparente si une courbe de largeur width_curve est fournie.

**Note: ** La liaison entre le segment de fermeture et le premier segment est dessinée en premier et échantillonne le gradient et la width_curve au début. Il s'agit d'un détail d'implémentation qui pourrait changer dans une version future.


Color default_color = Color(1, 1, 1, 1) 🔗

  • void set_default_color(value: Color)

  • Color get_default_color()

La couleur de la polyligne. Ne sera pas utilisé si un gradient est défini.


LineCapMode end_cap_mode = 0 🔗

Le style de la fin de la polyligne, si closed vaut false.


Gradient gradient 🔗

Le gradient est dessiné sur toute la ligne du début à la fin. La couleur par défaut default_color ne sera pas utilisée si cette propriété est définie.


LineJointMode joint_mode = 0 🔗

Le style des connexions entre les segments de la polyligne.


PackedVector2Array points = PackedVector2Array() 🔗

Les points de la polyline, interprétés dans les coordonnées 2D locales. Les segments sont dessinés entre les points adjacents dans ce tableau.

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


int round_precision = 8 🔗

  • void set_round_precision(value: int)

  • int get_round_precision()

Le lissage utilisé pour les liaisons arrondies et les bouchons. Les valeurs plus élevées entraînent des coins plus lisses, mais sont plus exigeantes pour rendre et mettre à jour.


float sharp_limit = 2.0 🔗

  • void set_sharp_limit(value: float)

  • float get_sharp_limit()

Determines the miter limit of the polyline. Normally, when joint_mode is set to LINE_JOINT_SHARP, sharp angles fall back to using the logic of LINE_JOINT_BEVEL joints to prevent very long miters. Higher values of this property mean that the fallback to a bevel joint will happen at sharper angles.


Texture2D texture 🔗

La texture utilisée pour la polyligne. Utilise texture_mode pour le style de dessin.


LineTextureMode texture_mode = 0 🔗

Le style de rendu de la texture de la polyligne.


float width = 10.0 🔗

La largeur de la polyligne.


Curve width_curve 🔗

La courbe de largeur de la polyligne. La largeur de la polyligne sur sa longueur sera équivalente à la valeur de la courbe de largeur sur son domaine. La courbe de largeur devrait être une Curve unitaire.


Descriptions des méthodes

void add_point(position: Vector2, index: int = -1) 🔗

Ajoute un point avec la position position spécifiée par rapport à la propre position de la polyligne. Si aucun index n'est fourni, le nouveau point sera ajouté à la fin du tableau de points.

Si index est donné, le nouveau point est inséré avant le point existant identifié par l'index index. Les indices des points après le nouveau point sont augmentés de 1. L'index index fourni ne doit pas dépasser le nombre de points existants dans la polyligne. Voir get_point_count().


void clear_points() 🔗

Enlève tous les points de la polyligne, la rendant vide.


int get_point_count() const 🔗

Renvoie le nombre de points dans la polyligne.


Vector2 get_point_position(index: int) const 🔗

Renvoie la position du point à l'index index.


void remove_point(index: int) 🔗

Supprime le point à l'index index de la polyligne.


void set_point_position(index: int, position: Vector2) 🔗

Remplace la position du point à l'index donné par la position spécifiée.