Line2D

Inherits: Node2D < CanvasItem < Node < Object

一条2D线。

描述

在 2D 空间中通过几个点的线。

注意:默认情况下,Godot一次最多只能绘制 4,096 个多边形点。要增加这个限制,请打开项目设置,增加 ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kbProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb

教程

属性

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

方法

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 )

枚举

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 —- 沿直线拉伸纹理。导入禁用重复的纹理以获得最佳效果。

属性说明

Default

false

Setter

set_antialiased(value)

Getter

get_antialiased()

如果true,线条的边界将抗锯齿。

注意: Line2D在抗锯齿时不会被批量加速。


Default

0

Setter

set_begin_cap_mode(value)

Getter

get_begin_cap_mode()

控制直线的第一个点的样式。使用LineCapMode线帽模式常数。


Default

Color( 0.4, 0.5, 1, 1 )

Setter

set_default_color(value)

Getter

get_default_color()

线条的颜色。如果设置了渐变,则不会生效。


Default

0

Setter

set_end_cap_mode(value)

Getter

get_end_cap_mode()

控制线条最后一点的样式。使用LineCapMode常数。


Setter

set_gradient(value)

Getter

get_gradient()

从头到尾贯穿整条线的渐变色。如果设置了渐变,则不会使用默认颜色。


Default

0

Setter

set_joint_mode(value)

Getter

get_joint_mode()

起点和终点之间点的样式。


Default

PoolVector2Array(  )

Setter

set_points(value)

Getter

get_points()

构成线条的点。在此数组中设置的每个点之间绘制线。点被解释为局部向量。


  • int round_precision

Default

8

Setter

set_round_precision(value)

Getter

get_round_precision()

圆形接头和盖子的平滑度。仅当盖子或接头设置为圆形时才使用此选项。


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.


Setter

set_texture(value)

Getter

get_texture()

用于线条纹理的纹理。使用texture_mode作为绘图样式。


Default

0

Setter

set_texture_mode(value)

Getter

get_texture_mode()

在线条上渲染texture的样式。使用LineTextureMode常量。


Default

10.0

Setter

set_width(value)

Getter

get_width()

线的宽度。


Setter

set_curve(value)

Getter

get_curve()

线条的宽度随曲线的变化而变化。原始宽度只需乘以曲线的值即可。

方法说明

  • void add_point ( Vector2 position, int at_position=-1 )

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处的点从直线中移除。


  • void set_point_position ( int i, Vector2 position )

用提供的position位置覆盖索引i处点的位置。