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.
Checking the stable version of the documentation...
Line2D
Eredita: Node2D < CanvasItem < Node < Object
Una polilinea 2D che può essere opzionalmente texturizzata.
Descrizione
Questo nodo disegna una polilinea 2D, ovvero una forma composta da diversi punti collegati da segmenti. Line2D non è una polilinea matematica, ovvero i segmenti non sono infinitamente sottili. È destinata al rendering e può essere colorata e opzionalmente texturizzata.
Attenzione: Alcune configurazioni potrebbero essere impossibili da disegnare bene, come angoli molto acuti. In queste situazioni, il nodo utilizza una logica di disegno di riserva per apparire decente.
Nota: Line2D è disegnata utilizzando una mesh 2D.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Metodi
void |
|
void |
|
get_point_count() const |
|
get_point_position(index: int) const |
|
void |
remove_point(index: int) |
void |
set_point_position(index: int, position: Vector2) |
Enumerazioni
enum LineJointMode: 🔗
LineJointMode LINE_JOINT_SHARP = 0
Rende appuntite le giunzioni della polilinea, collegando i lati dei due segmenti estendendoli fino a quando non si intersecano. Se la rotazione di una giuntura è troppo grande (in base a sharp_limit), la giuntura torna a LINE_JOINT_BEVEL per evitare tagli obliqui molto lunghi.
LineJointMode LINE_JOINT_BEVEL = 1
Rende smussate le giunzioni della polilinea, collegando i lati dei due segmenti con una semplice linea .
LineJointMode LINE_JOINT_ROUND = 2
Rende arrotondate le giunzioni della polilinea, collegando i lati dei due segmenti con un arco. Il dettaglio di questo arco dipende da round_precision.
enum LineCapMode: 🔗
LineCapMode LINE_CAP_NONE = 0
Non disegna alcun limite.
LineCapMode LINE_CAP_BOX = 1
Disegna il limite della linea come un riquadro, estendendo leggermente il primo o ultimo segmento.
LineCapMode LINE_CAP_ROUND = 2
Disegna il limite della linea come un semicerchio attaccato al primo o ultimo segmento.
enum LineTextureMode: 🔗
LineTextureMode LINE_TEXTURE_NONE = 0
Prende i pixel di sinistra della texture e li renderizza sull'intera polilinea.
LineTextureMode LINE_TEXTURE_TILE = 1
Piastrella la texture sulla polilinea. CanvasItem.texture_repeat del nodo Line2D deve essere CanvasItem.TEXTURE_REPEAT_ENABLED o CanvasItem.TEXTURE_REPEAT_MIRROR affinché funzioni correttamente.
LineTextureMode LINE_TEXTURE_STRETCH = 2
Allunga la texture lungo la polilinea. Per ottenere migliori risultati, CanvasItem.texture_repeat del nodo Line2D deve essere CanvasItem.TEXTURE_REPEAT_DISABLED.
Descrizioni delle proprietà
Se true, è applicato l'antialiasing sul bordo della polilinea.
Nota: Line2D non è accelerato dal batching quando è applicato l'antialiasing.
LineCapMode begin_cap_mode = 0 🔗
void set_begin_cap_mode(value: LineCapMode)
LineCapMode get_begin_cap_mode()
Lo stile dell'inizio della polilinea, se closed è false.
Se true e la polilinea ha più di 2 punti, l'ultimo punto e il primo saranno collegati da un segmento.
Nota: Non è garantito che la forma del segmento di chiusura sia perfetta se width_curve è definita.
Nota: La giunzione tra il segmento di chiusura e il primo segmento è disegnata per prima e campiona gradient e width_curve all'inizio. Questo è un dettaglio di implementazione che potrebbe cambiare in una versione futura.
Color default_color = Color(1, 1, 1, 1) 🔗
Il colore della polilinea. Non sarà utilizzato se è impostato un gradiente.
LineCapMode end_cap_mode = 0 🔗
void set_end_cap_mode(value: LineCapMode)
LineCapMode get_end_cap_mode()
Lo stile della fine della polilinea, se closed è false.
Il gradiente che è disegnato lungo l'intera linea dall'inizio alla fine. default_color non sarà utilizzato se questa proprietà è impostata.
LineJointMode joint_mode = 0 🔗
void set_joint_mode(value: LineJointMode)
LineJointMode get_joint_mode()
Lo stile dei collegamenti tra i segmenti della polilinea.
PackedVector2Array points = PackedVector2Array() 🔗
void set_points(value: PackedVector2Array)
PackedVector2Array get_points()
I punti della polilinea, interpretati in coordinate 2D locali. I segmenti sono disegnati tra i punti adiacenti in questo array.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.
La rotondità utilizzata per giunzioni e tappi arrotondati. Valori più alti producono angoli più smussati, ma sono più impegnativi da renderizzare e aggiornare.
Determina il limite di smusso della polilinea. Normalmente, quando joint_mode è impostato su LINE_JOINT_SHARP, gli angoli acuti ricadono alla logica delle giunzioni LINE_JOINT_BEVEL per impedire smussi molto lunghi. Valori più alti di questa proprietà indicano che il ricadimento a una giunzione smussata avverrà ad angoli più acuti.
La texture usata per la polilinea. Usa texture_mode per lo stile di disegno.
LineTextureMode texture_mode = 0 🔗
void set_texture_mode(value: LineTextureMode)
LineTextureMode get_texture_mode()
Lo stile per renderizzare la texture della polilinea.
Lo spessore della polilinea.
La curva di larghezza della polilinea. La larghezza della polilinea sulla sua lunghezza sarà equivalente al valore della curva di larghezza sul suo dominio. La curva di larghezza dovrebbe essere una Curve unitaria.
Descrizioni dei metodi
void add_point(position: Vector2, index: int = -1) 🔗
Aggiunge un punto con la posizione position relativa alla posizione della polilinea stessa. Se l'indice index non è fornito , il nuovo punto sarà aggiunto alla fine dell'array di punti.
Se index è fornito, il nuovo punto sarà inserito prima del punto esistente identificato dall'indice index. Gli indici dei punti dopo il nuovo punto sono aumentati di 1. index non deve superare il numero di punti esistenti nella polilinea. Vedi get_point_count().
void clear_points() 🔗
Rimuove tutti i punti dalla polilinea, rendendola vuota.
Restituisce il numero di punti nella polilinea.
Vector2 get_point_position(index: int) const 🔗
Restituisce la posizione del punto all'indice index.
void remove_point(index: int) 🔗
Rimuove il punto all'indice index dalla polilinea.
void set_point_position(index: int, position: Vector2) 🔗
Sovrascrive la posizione del punto all'index fornito con la posizione position fornita.