Vector2

用于二维数学的向量。

描述

2 元素结构,可用于表示 2D 空间中的坐标或其他任何一对数字值。

注意:在布尔语境中,如果 Vector2 等于 Vector2(0, 0),它将评估为 false。否则,Vector2 将总是评估为 true

教程

属性

float

x

0.0

float

y

0.0

方法

Vector2

Vector2 ( float x, float y )

Vector2

abs ( )

float

angle ( )

float

angle_to ( Vector2 to )

float

angle_to_point ( Vector2 to )

float

aspect ( )

Vector2

bounce ( Vector2 n )

Vector2

ceil ( )

Vector2

clamped ( float length )

float

cross ( Vector2 with )

Vector2

cubic_interpolate ( Vector2 b, Vector2 pre_a, Vector2 post_b, float weight )

Vector2

direction_to ( Vector2 b )

float

distance_squared_to ( Vector2 to )

float

distance_to ( Vector2 to )

float

dot ( Vector2 with )

Vector2

floor ( )

bool

is_equal_approx ( Vector2 v )

bool

is_normalized ( )

float

length ( )

float

length_squared ( )

Vector2

limit_length ( float length=1.0 )

Vector2

linear_interpolate ( Vector2 to, float weight )

Vector2

move_toward ( Vector2 to, float delta )

Vector2

normalized ( )

Vector2

posmod ( float mod )

Vector2

posmodv ( Vector2 modv )

Vector2

project ( Vector2 b )

Vector2

reflect ( Vector2 n )

Vector2

rotated ( float phi )

Vector2

round ( )

Vector2

sign ( )

Vector2

slerp ( Vector2 to, float weight )

Vector2

slide ( Vector2 n )

Vector2

snapped ( Vector2 by )

Vector2

tangent ( )

常量

  • AXIS_X = 0 —- X 轴的枚举值。

  • AXIS_Y = 1 —- Y 轴的枚举值。

  • ZERO = Vector2( 0, 0 ) —- 零向量,所有分量都设置为 0 的向量。

  • ONE = Vector2( 1, 1 ) —- 一向量,所有分量都设置为 1 的向量。

  • INF = Vector2( inf, inf ) —- 无穷大向量,所有分量都设置为 @GDScript.INF 的向量。

  • LEFT = Vector2( -1, 0 ) —- 左单位向量。代表左的方向。

  • RIGHT = Vector2( 1, 0 ) —- 右单位向量。代表右的方向。

  • UP = Vector2( 0, -1 ) —- 上单位向量。Y 在 2D 中是向下的,所以这个向量指向 -Y。

  • DOWN = Vector2( 0, 1 ) —- 下单位向量。在 2D 中 Y 是向下的,所以这个向量指向 +Y。

属性说明

Default

0.0

向量的 X 分量。也可以通过使用索引位置 [0] 访问。


Default

0.0

向量的 Y 分量。也可以通过使用索引位置 [1] 访问。

方法说明

从给定的 xy 构建新的 Vector2。


返回一个新的向量,其所有分量都是绝对值,即正值。


返回这个向量相对于正X轴的角度,或(1, 0)向量,单位为弧度。

例如,Vector2.RIGHT.angle()将返回0,Vector2.DOWN.angle()将返回PI / 2(四分之一转,或90度),Vector2(1, -1).angle()将返回-PI / 4 (负八分之一转,或-45度)。

返回角度的说明。

相当于以向量的yx为参数调用@GDScript.atan2时的结果。atan2(y, x)


返回与给定向量的角度,单位为弧度。

返回角度的说明。


返回连接两点的直线与X轴的夹角,单位为弧度。

返回角度的图示。


返回这个向量的长宽比,即xy的比例。


返回从由给定法线定义的平面上“反弹”的向量。


返回所有分量四舍五入后的向量,朝正无穷大。


Deprecated, please use limit_length instead.

Returns the vector with a maximum length by limiting its length to length.


返回此向量与with的叉积。


pre_apost_b作为句柄,在这个向量和b之间进行三次插值,并在weight位置返回结果。weight的范围是0.0到1.0,表示插值的量。


返回从这个向量指向b的归一化向量。这相当于使用(b-a).normalized()


返回这个向量与b之间的平方距离。

这个方法比distance_to运行得更快,所以如果你需要比较向量或需要一些公式的平方距离,则更喜欢它。


返回此向量与 to 之间的距离。


返回此向量与with的点积。这可以用来比较两个向量之间的角度。例如,这可以用来确定一个敌人是否正朝向玩家。

对于直角90度,点积将是0,对于窄于90度的角度,点积大于0,对于宽于90度的角度,点积小于0。

当使用归一化单位向量时,当向量朝向相反方向时,结果总是在-1.0(180度角)和1.0(0度角)之间,当向量对齐。

注意:a.dot(b)等同于b.dot(a)


返回所有分量四舍五入后的向量,朝负无穷大。


通过对每个分量运行@GDScript.is_equal_approx,如果这个向量和v近似相等,返回true


  • bool is_normalized ( )

如果向量被归一化,返回true,否则返回false


返回这个向量的长度,即大小。


  • float length_squared ( )

返回这个向量的平方长度,即平方大小。

这个方法比length运行得更快,所以如果你需要比较向量或需要一些公式的平方距离时,更喜欢用它。


通过限制其长度为length,返回具有最大长度的向量。


返回这个向量与to之间线性插值的结果,插值量为weightweight的范围是0.0到1.0,表示插值的数量。


to移动固定的delta量。


返回缩放为单位长度的向量。相当于v/v.length()


返回一个由这个向量分量的@GDScript.fposmodmod组成的向量。


返回一个由这个向量的modv分量和@GDScript.fposmod分量组成的向量。


返回投射到向量b的向量。


返回从给定法线定义的平面反射的向量。


返回旋转了phi弧度的向量。参阅@GDScript.deg2rad


返回所有分量都被四舍五入为最接近的整数的向量,中间情况下四舍五入为零。


根据分量的符号,返回每个分量设置为 1 或负1的向量。如果分量为零,则返回正1。


返回这个向量与to之间的球面线性插值的结果,按weight的数量。weight的范围是0.0到1.0,表示插值的数量。

注意:两个向量都必须被归一化。


返回沿着由给定法线定义的平面滑动的向量。


返回这个向量,每个分量都捕捉到step的最近倍数。这也可以用来四舍五入到任意数量的小数。


返回一个与原来相比逆时针旋转90度的垂直向量,长度不变。