Line2D
Inherits: Node2D < CanvasItem < Node < Object
A 2D line.
Description
A line through several points in 2D space.
Note: By default, Godot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb and ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb.
Properties
bool | antialiased | false |
LineCapMode | begin_cap_mode | 0 |
Color | default_color | Color( 0.4, 0.5, 1, 1 ) |
LineCapMode | end_cap_mode | 0 |
Gradient | gradient | |
LineJointMode | joint_mode | 0 |
PoolVector2Array | points | PoolVector2Array( ) |
int | round_precision | 8 |
float | sharp_limit | 2.0 |
Texture | texture | |
LineTextureMode | texture_mode | 0 |
float | width | 10.0 |
Curve | width_curve |
Methods
void | add_point ( Vector2 position, int at_position=-1 ) |
void | clear_points ( ) |
int | get_point_count ( ) const |
Vector2 | get_point_position ( int i ) const |
void | remove_point ( int i ) |
void | set_point_position ( int i, Vector2 position ) |
Enumerations
enum LineJointMode:
-
LINE_JOINT_SHARP = 0 --- The line's joints will be pointy. If
sharp_limit
is greater than the rotation of a joint, it becomes a bevel joint instead. - LINE_JOINT_BEVEL = 1 --- The line's joints will be bevelled/chamfered.
- LINE_JOINT_ROUND = 2 --- The line's joints will be rounded.
enum LineCapMode:
- LINE_CAP_NONE = 0 --- Don't draw a line cap.
- LINE_CAP_BOX = 1 --- Draws the line cap as a box.
- LINE_CAP_ROUND = 2 --- Draws the line cap as a circle.
enum LineTextureMode:
- LINE_TEXTURE_NONE = 0 --- Takes the left pixels of the texture and renders it over the whole line.
- LINE_TEXTURE_TILE = 1 --- Tiles the texture over the line. The texture must be imported with Repeat enabled for it to work properly.
- LINE_TEXTURE_STRETCH = 2 --- Stretches the texture across the line. Import the texture with Repeat disabled for best results.
Property Descriptions
bool antialiased
Default | false |
Setter | set_antialiased(value) |
Getter | get_antialiased() |
If true
, the line's border will be anti-aliased.
LineCapMode begin_cap_mode
Default | 0 |
Setter | set_begin_cap_mode(value) |
Getter | get_begin_cap_mode() |
Controls the style of the line's first point. Use LineCapMode constants.
Color default_color
Default | Color( 0.4, 0.5, 1, 1 ) |
Setter | set_default_color(value) |
Getter | get_default_color() |
The line's color. Will not be used if a gradient is set.
LineCapMode end_cap_mode
Default | 0 |
Setter | set_end_cap_mode(value) |
Getter | get_end_cap_mode() |
Controls the style of the line's last point. Use LineCapMode constants.
Gradient gradient
Setter | set_gradient(value) |
Getter | get_gradient() |
The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set.
LineJointMode joint_mode
Default | 0 |
Setter | set_joint_mode(value) |
Getter | get_joint_mode() |
The style for the points between the start and the end.
PoolVector2Array points
Default | PoolVector2Array( ) |
Setter | set_points(value) |
Getter | get_points() |
The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.
int round_precision
Default | 8 |
Setter | set_round_precision(value) |
Getter | get_round_precision() |
The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round.
float sharp_limit
Default | 2.0 |
Setter | set_sharp_limit(value) |
Getter | get_sharp_limit() |
The direction difference in radians between vector points. This value is only used if joint mode
is set to LINE_JOINT_SHARP.
Texture texture
Setter | set_texture(value) |
Getter | get_texture() |
The texture used for the line's texture. Uses texture_mode
for drawing style.
LineTextureMode texture_mode
Default | 0 |
Setter | set_texture_mode(value) |
Getter | get_texture_mode() |
The style to render the texture
on the line. Use LineTextureMode constants.
float width
Default | 10.0 |
Setter | set_width(value) |
Getter | get_width() |
The line's width.
Curve width_curve
Setter | set_curve(value) |
Getter | get_curve() |
The line's width varies with the curve. The original width is simply multiply by the value of the Curve.
Method Descriptions
void add_point ( Vector2 position, int at_position=-1 )
Adds a point at the position
. Appends the point at the end of the line.
If at_position
is given, the point is inserted before the point number at_position
, moving that point (and every point after) after the inserted point. If at_position
is not given, or is an illegal value (at_position < 0
or at_position >= [method get_point_count]
), the point will be appended at the end of the point list.
void clear_points ( )
Removes all points from the line.
int get_point_count ( ) const
Returns the Line2D's amount of points.
Vector2 get_point_position ( int i ) const
Returns point i
's position.
void remove_point ( int i )
Removes the point at index i
from the line.
void set_point_position ( int i, Vector2 position )
Overwrites the position in point i
with the supplied position
.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_line2d.html