跳到主要内容

Line2D

继承

Node2D

简要描述

2D线。

描述

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

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

成员

类型属性名默认值
boolantialiasedfalse
intbegin_cap_mode0
Colordefault_colorColor( 0.4, 0.5, 1, 1 )
intend_cap_mode0
Gradientgradient
intjoint_mode0
PoolVector2ArraypointsPoolVector2Array( )
intround_precision8
floatsharp_limit2.0
Texturetexture
inttexture_mode0
floatwidth10.0
Curvewidth_curve

方法

返回值类型方法名称
voidadd_point(position: Vector2, at_position: int = -1)
voidclear_points()
intget_point_count() const
Vector2get_point_position(i: int) const
voidremove_point(i: int)
voidset_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
Defaultfalse
setterset_antialiased(value)
getterget_antialiased
  • int begin_cap_mode
Default0
setterset_begin_cap_mode(value)
getterget_begin_cap_mode
  • Color default_color
DefaultColor( 0.4, 0.5, 1, 1 )
setterset_default_color(value)
getterget_default_color
  • int end_cap_mode
Default0
setterset_end_cap_mode(value)
getterget_end_cap_mode
  • Gradient gradient
setterset_gradient(value)
getterget_gradient
  • int joint_mode
Default0
setterset_joint_mode(value)
getterget_joint_mode
  • PoolVector2Array points
DefaultPoolVector2Array( )
setterset_points(value)
getterget_points
  • int round_precision
Default8
setterset_round_precision(value)
getterget_round_precision
  • float sharp_limit
Default2.0
setterset_sharp_limit(value)
getterget_sharp_limit
  • Texture texture
setterset_texture(value)
getterget_texture
  • int texture_mode
Default0
setterset_texture_mode(value)
getterget_texture_mode
  • float width
Default10.0
setterset_width(value)
getterget_width
  • Curve width_curve
setterset_curve(value)
getterget_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中的位置。