跳转至

Line2D

继承

Node2D

简要描述

2D线。

描述

一条穿过2D空间中多个点的线。

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

成员

类型 属性名 默认值
bool antialiased false
int begin_cap_mode 0
Color default_color Color( 0.4, 0.5, 1, 1 )
int end_cap_mode 0
Gradient gradient
int joint_mode 0
PoolVector2Array points PoolVector2Array( )
int round_precision 8
float sharp_limit 2.0
Texture texture
int texture_mode 0
float width 10.0
Curve width_curve

方法

返回值类型 方法名称
void add_point(position: Vector2, at_position: int = -1)
void clear_points()
int get_point_count() const
Vector2 get_point_position(i: int) const
void remove_point(i: int)
void set_point_position(i: int, position: Vector2)
##枚举
enum LineJointMode:
- LINE_JOINT_SHARP = 0

该线的接缝将很尖。

  • 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

沿线拉伸纹理。导入贴图使用Repeat禁用最好的结果。


常量

成员说明

  • bool antialiased
Default false
setter set_antialiased(value)
getter get_antialiased
  • int begin_cap_mode
Default 0
setter set_begin_cap_mode(value)
getter get_begin_cap_mode
  • Color default_color
Default Color( 0.4, 0.5, 1, 1 )
setter set_default_color(value)
getter get_default_color
  • int end_cap_mode
Default 0
setter set_end_cap_mode(value)
getter get_end_cap_mode
  • Gradient gradient
setter set_gradient(value)
getter get_gradient
  • int joint_mode
Default 0
setter set_joint_mode(value)
getter get_joint_mode
  • PoolVector2Array points
Default PoolVector2Array( )
setter set_points(value)
getter get_points
  • int round_precision
Default 8
setter set_round_precision(value)
getter get_round_precision
  • float sharp_limit
Default 2.0
setter set_sharp_limit(value)
getter get_sharp_limit
  • Texture texture
setter set_texture(value)
getter get_texture
  • int texture_mode
Default 0
setter set_texture_mode(value)
getter get_texture_mode
  • float width
Default 10.0
setter set_width(value)
getter get_width
  • Curve width_curve
setter set_curve(value)
getter get_curve

方法说明

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

position处添加一个点。在行的末尾添加。

如果给出了at_position,则将该点插入到点编号at_position之前,然后将该点(及其后的每个点)移动到插入点之后。


  • clear_points clear_points()

从线上删除所有点。


  • get_point_count get_point_count() const

返回Line2D的点数。


  • get_point_position get_point_position(i: int) const

返回点i的位置。


  • remove_point remove_point(i: int)

从行中删除索引i上的点。


  • set_point_position set_point_position(i: int, position: Vector2)

用提供的position覆盖点i中的位置。