Line2D
Inherits: Node2D < CanvasItem < Node < Object
一条2D线。
描述
在 2D 空间中通过几个点的线。
注意:默认情况下,Godot一次最多只能绘制 4,096 个多边形点。要增加这个限制,请打开项目设置,增加 ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb 和 ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
方法
void | |
void | clear_points ( ) |
get_point_count ( ) const | |
get_point_position ( int i ) const | |
void | remove_point ( int i ) |
void | set_point_position ( int i, Vector2 position ) |
枚举
enum LineJointMode:
LINE_JOINT_SHARP = 0 —- 这条线的接头将是尖的。如果
sharp_limit
大于关节的旋转,则它将变为斜角关节。LINE_JOINT_BEVEL = 1 —- 线的接头将斜切/倒角。
LINE_JOINT_ROUND = 2 —- 该线的接头将为圆形。
enum LineCapMode:
LINE_CAP_NONE = 0 —- 不能在线帽上绘制。
LINE_CAP_BOX = 1 —- 将线帽绘制为长方体。
LINE_CAP_ROUND = 2 —- 将线帽绘制为圆。
enum LineTextureMode:
LINE_TEXTURE_NONE = 0 —- 获取纹理的左侧像素并在整个线条上渲染它。
LINE_TEXTURE_TILE = 1 —- 在线条上平铺纹理。导入纹理时必须启用Repeat才能正常工作。
LINE_TEXTURE_STRETCH = 2 —- 沿直线拉伸纹理。导入禁用重复的纹理以获得最佳效果。
属性说明
- bool antialiased
Default |
|
Setter | set_antialiased(value) |
Getter | get_antialiased() |
如果true
,线条的边界将抗锯齿。
注意: Line2D在抗锯齿时不会被批量加速。
- LineCapMode begin_cap_mode
Default |
|
Setter | set_begin_cap_mode(value) |
Getter | get_begin_cap_mode() |
控制直线的第一个点的样式。使用LineCapMode线帽模式常数。
- Color default_color
Default |
|
Setter | set_default_color(value) |
Getter | get_default_color() |
线条的颜色。如果设置了渐变,则不会生效。
- LineCapMode end_cap_mode
Default |
|
Setter | set_end_cap_mode(value) |
Getter | get_end_cap_mode() |
控制线条最后一点的样式。使用LineCapMode常数。
- Gradient gradient
Setter | set_gradient(value) |
Getter | get_gradient() |
从头到尾贯穿整条线的渐变色。如果设置了渐变,则不会使用默认颜色。
- LineJointMode joint_mode
Default |
|
Setter | set_joint_mode(value) |
Getter | get_joint_mode() |
起点和终点之间点的样式。
- PoolVector2Array points
Default |
|
Setter | set_points(value) |
Getter | get_points() |
构成线条的点。在此数组中设置的每个点之间绘制线。点被解释为局部向量。
- int round_precision
Default |
|
Setter | set_round_precision(value) |
Getter | get_round_precision() |
圆形接头和盖子的平滑度。仅当盖子或接头设置为圆形时才使用此选项。
- float sharp_limit
Default |
|
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() |
用于线条纹理的纹理。使用texture_mode
作为绘图样式。
- LineTextureMode texture_mode
Default |
|
Setter | set_texture_mode(value) |
Getter | get_texture_mode() |
在线条上渲染texture
的样式。使用LineTextureMode常量。
- float width
Default |
|
Setter | set_width(value) |
Getter | get_width() |
线的宽度。
- Curve width_curve
Setter | set_curve(value) |
Getter | get_curve() |
线条的宽度随曲线的变化而变化。原始宽度只需乘以曲线的值即可。
方法说明
在position
添加点。将点追加到直线的末尾。
如果给定了位置at_position
,则在位置at_position
之前插入该点,并将该点(以及之后的每个点)移动到插入点之后。如果未给出位置处的at_position
,或者是非法值(at_position <0
或位置处的>=[method get_point_count]
),则该点将追加到点列表的末尾。
- void clear_points ( )
移除直线上的所有点。
- int get_point_count ( ) const
返回在Line2D上点的数量。
返回点i
的位置。
- void remove_point ( int i )
将索引i
处的点从直线中移除。
用提供的position
位置覆盖索引i
处点的位置。