Files
godot-docs-l10n/classes/zh_Hans/class_vector4.rst

1030 lines
60 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_Vector4:
Vector4
=======
使用浮点数坐标的 4D 向量。
.. rst-class:: classref-introduction-group
描述
----
包含四个元素的结构体,可用于代表 4D 坐标或任何数值的四元组。
使用浮点数坐标。默认情况下,这些浮点值为 32 位精度,与始终为 64 位的 :ref:`float<class_float>` 并不相同。如果需要双精度,请在编译引擎时使用 ``precision=double`` 选项。
对应的整数版本见 :ref:`Vector4i<class_Vector4i>`\ 。
\ **注意:**\ 在布尔语境中,如果 Vector4 等于 ``Vector4(0, 0, 0, 0)`` 则求值结果为 ``false``\ 。否则 Vector4 的求值结果始终为 ``true``\ 。
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+---------------------------+------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`w<class_Vector4_property_w>` | ``0.0`` |
+---------------------------+------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`x<class_Vector4_property_x>` | ``0.0`` |
+---------------------------+------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`y<class_Vector4_property_y>` | ``0.0`` |
+---------------------------+------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`z<class_Vector4_property_z>` | ``0.0`` |
+---------------------------+------------------------------------+---------+
.. rst-class:: classref-reftable-group
构造函数
--------
.. table::
:widths: auto
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`Vector4<class_Vector4_constructor_Vector4>`\ (\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`Vector4<class_Vector4_constructor_Vector4>`\ (\ from\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`Vector4<class_Vector4_constructor_Vector4>`\ (\ from\: :ref:`Vector4i<class_Vector4i>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`Vector4<class_Vector4_constructor_Vector4>`\ (\ x\: :ref:`float<class_float>`, y\: :ref:`float<class_float>`, z\: :ref:`float<class_float>`, w\: :ref:`float<class_float>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`abs<class_Vector4_method_abs>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`ceil<class_Vector4_method_ceil>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`clamp<class_Vector4_method_clamp>`\ (\ min\: :ref:`Vector4<class_Vector4>`, max\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`clampf<class_Vector4_method_clampf>`\ (\ min\: :ref:`float<class_float>`, max\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`cubic_interpolate<class_Vector4_method_cubic_interpolate>`\ (\ b\: :ref:`Vector4<class_Vector4>`, pre_a\: :ref:`Vector4<class_Vector4>`, post_b\: :ref:`Vector4<class_Vector4>`, weight\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`cubic_interpolate_in_time<class_Vector4_method_cubic_interpolate_in_time>`\ (\ b\: :ref:`Vector4<class_Vector4>`, pre_a\: :ref:`Vector4<class_Vector4>`, post_b\: :ref:`Vector4<class_Vector4>`, weight\: :ref:`float<class_float>`, b_t\: :ref:`float<class_float>`, pre_a_t\: :ref:`float<class_float>`, post_b_t\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`direction_to<class_Vector4_method_direction_to>`\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`distance_squared_to<class_Vector4_method_distance_squared_to>`\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`distance_to<class_Vector4_method_distance_to>`\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`dot<class_Vector4_method_dot>`\ (\ with\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`floor<class_Vector4_method_floor>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`inverse<class_Vector4_method_inverse>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_equal_approx<class_Vector4_method_is_equal_approx>`\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_finite<class_Vector4_method_is_finite>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_normalized<class_Vector4_method_is_normalized>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_zero_approx<class_Vector4_method_is_zero_approx>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`length<class_Vector4_method_length>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`length_squared<class_Vector4_method_length_squared>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`lerp<class_Vector4_method_lerp>`\ (\ to\: :ref:`Vector4<class_Vector4>`, weight\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`max<class_Vector4_method_max>`\ (\ with\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`max_axis_index<class_Vector4_method_max_axis_index>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`maxf<class_Vector4_method_maxf>`\ (\ with\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`min<class_Vector4_method_min>`\ (\ with\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`min_axis_index<class_Vector4_method_min_axis_index>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`minf<class_Vector4_method_minf>`\ (\ with\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`normalized<class_Vector4_method_normalized>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`posmod<class_Vector4_method_posmod>`\ (\ mod\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`posmodv<class_Vector4_method_posmodv>`\ (\ modv\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`round<class_Vector4_method_round>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`sign<class_Vector4_method_sign>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`snapped<class_Vector4_method_snapped>`\ (\ step\: :ref:`Vector4<class_Vector4>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`snappedf<class_Vector4_method_snappedf>`\ (\ step\: :ref:`float<class_float>`\ ) |const| |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
运算符
------
.. table::
:widths: auto
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator !=<class_Vector4_operator_neq_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator *<class_Vector4_operator_mul_Projection>`\ (\ right\: :ref:`Projection<class_Projection>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator *<class_Vector4_operator_mul_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator *<class_Vector4_operator_mul_float>`\ (\ right\: :ref:`float<class_float>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator *<class_Vector4_operator_mul_int>`\ (\ right\: :ref:`int<class_int>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator +<class_Vector4_operator_sum_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator -<class_Vector4_operator_dif_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator /<class_Vector4_operator_div_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator /<class_Vector4_operator_div_float>`\ (\ right\: :ref:`float<class_float>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator /<class_Vector4_operator_div_int>`\ (\ right\: :ref:`int<class_int>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator \<<class_Vector4_operator_lt_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator \<=<class_Vector4_operator_lte_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator ==<class_Vector4_operator_eq_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator ><class_Vector4_operator_gt_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator >=<class_Vector4_operator_gte_Vector4>`\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`operator []<class_Vector4_operator_idx_int>`\ (\ index\: :ref:`int<class_int>`\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator unary+<class_Vector4_operator_unplus>`\ (\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator unary-<class_Vector4_operator_unminus>`\ (\ ) |
+-------------------------------+-------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
枚举
----
.. _enum_Vector4_Axis:
.. rst-class:: classref-enumeration
enum **Axis**: :ref:`🔗<enum_Vector4_Axis>`
.. _class_Vector4_constant_AXIS_X:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4_Axis>` **AXIS_X** = ``0``
X 轴的枚举值。由 :ref:`max_axis_index()<class_Vector4_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4_method_min_axis_index>` 返回。
.. _class_Vector4_constant_AXIS_Y:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4_Axis>` **AXIS_Y** = ``1``
Y 轴的枚举值。由 :ref:`max_axis_index()<class_Vector4_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4_method_min_axis_index>` 返回。
.. _class_Vector4_constant_AXIS_Z:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4_Axis>` **AXIS_Z** = ``2``
Z 轴的枚举值。由 :ref:`max_axis_index()<class_Vector4_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4_method_min_axis_index>` 返回。
.. _class_Vector4_constant_AXIS_W:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4_Axis>` **AXIS_W** = ``3``
W 轴的枚举值。由 :ref:`max_axis_index()<class_Vector4_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4_method_min_axis_index>` 返回。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
常量
----
.. _class_Vector4_constant_ZERO:
.. rst-class:: classref-constant
**ZERO** = ``Vector4(0, 0, 0, 0)`` :ref:`🔗<class_Vector4_constant_ZERO>`
零向量,所有分量都设置为 ``0`` 的向量。
.. _class_Vector4_constant_ONE:
.. rst-class:: classref-constant
**ONE** = ``Vector4(1, 1, 1, 1)`` :ref:`🔗<class_Vector4_constant_ONE>`
一向量,所有分量都设置为 ``1`` 的向量。
.. _class_Vector4_constant_INF:
.. rst-class:: classref-constant
**INF** = ``Vector4(inf, inf, inf, inf)`` :ref:`🔗<class_Vector4_constant_INF>`
无穷大向量,所有分量都设置为 :ref:`@GDScript.INF<class_@GDScript_constant_INF>` 的向量。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_Vector4_property_w:
.. rst-class:: classref-property
:ref:`float<class_float>` **w** = ``0.0`` :ref:`🔗<class_Vector4_property_w>`
该向量的 W 分量。也可以通过使用索引位置 ``[3]`` 访问。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_property_x:
.. rst-class:: classref-property
:ref:`float<class_float>` **x** = ``0.0`` :ref:`🔗<class_Vector4_property_x>`
向量的 X 分量。也可以通过使用索引位置 ``[0]`` 访问。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_property_y:
.. rst-class:: classref-property
:ref:`float<class_float>` **y** = ``0.0`` :ref:`🔗<class_Vector4_property_y>`
向量的 Y 分量。也可以通过使用索引位置 ``[1]`` 访问。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_property_z:
.. rst-class:: classref-property
:ref:`float<class_float>` **z** = ``0.0`` :ref:`🔗<class_Vector4_property_z>`
向量的 Z 分量。也可以通过使用索引位置 ``[2]`` 访问。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
构造函数说明
------------
.. _class_Vector4_constructor_Vector4:
.. rst-class:: classref-constructor
:ref:`Vector4<class_Vector4>` **Vector4**\ (\ ) :ref:`🔗<class_Vector4_constructor_Vector4>`
构造默认初始化的 **Vector4**\ ,所有分量都为 ``0``\ 。
.. rst-class:: classref-item-separator
----
.. rst-class:: classref-constructor
:ref:`Vector4<class_Vector4>` **Vector4**\ (\ from\: :ref:`Vector4<class_Vector4>`\ )
构造给定 **Vector4** 的副本。
.. rst-class:: classref-item-separator
----
.. rst-class:: classref-constructor
:ref:`Vector4<class_Vector4>` **Vector4**\ (\ from\: :ref:`Vector4i<class_Vector4i>`\ )
从给定的 :ref:`Vector4i<class_Vector4i>` 构造新的 **Vector4**\ 。
.. rst-class:: classref-item-separator
----
.. rst-class:: classref-constructor
:ref:`Vector4<class_Vector4>` **Vector4**\ (\ x\: :ref:`float<class_float>`, y\: :ref:`float<class_float>`, z\: :ref:`float<class_float>`, w\: :ref:`float<class_float>`\ )
返回具有给定分量的 **Vector4**\ 。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_Vector4_method_abs:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **abs**\ (\ ) |const| :ref:`🔗<class_Vector4_method_abs>`
返回一个新向量,其所有分量都是绝对值,即正值。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_ceil:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **ceil**\ (\ ) |const| :ref:`🔗<class_Vector4_method_ceil>`
返回一个新向量,所有的分量都是向上舍入(正无穷大方向)。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_clamp:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **clamp**\ (\ min\: :ref:`Vector4<class_Vector4>`, max\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_clamp>`
返回一个新向量,每个分量都使用 :ref:`@GlobalScope.clamp()<class_@GlobalScope_method_clamp>` 限制在 ``min````max`` 之间。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_clampf:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **clampf**\ (\ min\: :ref:`float<class_float>`, max\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_clampf>`
返回一个新向量,每个分量都使用 :ref:`@GlobalScope.clamp()<class_@GlobalScope_method_clamp>` 限制在 ``min````max`` 之间。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_cubic_interpolate:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **cubic_interpolate**\ (\ b\: :ref:`Vector4<class_Vector4>`, pre_a\: :ref:`Vector4<class_Vector4>`, post_b\: :ref:`Vector4<class_Vector4>`, weight\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_cubic_interpolate>`
返回该向量和 ``b`` 之间进行三次插值 ``weight`` 处的结果,使用 ``pre_a````post_b`` 作为控制柄。\ ``weight`` 在 0.0 到 1.0 的范围内,代表插值的量。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_cubic_interpolate_in_time:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **cubic_interpolate_in_time**\ (\ b\: :ref:`Vector4<class_Vector4>`, pre_a\: :ref:`Vector4<class_Vector4>`, post_b\: :ref:`Vector4<class_Vector4>`, weight\: :ref:`float<class_float>`, b_t\: :ref:`float<class_float>`, pre_a_t\: :ref:`float<class_float>`, post_b_t\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_cubic_interpolate_in_time>`
返回该向量和 ``b`` 之间进行三次插值 ``weight`` 处的结果,使用 ``pre_a````post_b`` 作为控制柄。\ ``weight`` 在 0.0 到 1.0 的范围内,代表插值的量。
通过使用时间值,可以比 :ref:`cubic_interpolate()<class_Vector4_method_cubic_interpolate>` 进行更平滑的插值。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_direction_to:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **direction_to**\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_direction_to>`
返回从该向量指向 ``to`` 的归一化向量。相当于使用 ``(b - a).normalized()``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_distance_squared_to:
.. rst-class:: classref-method
:ref:`float<class_float>` **distance_squared_to**\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_distance_squared_to>`
返回该向量与 ``to`` 之间的距离的平方。
该方法比 :ref:`distance_to()<class_Vector4_method_distance_to>` 运行得更快,因此请在需要比较向量或者用于某些公式的平方距离时,优先使用这个方法。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_distance_to:
.. rst-class:: classref-method
:ref:`float<class_float>` **distance_to**\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_distance_to>`
返回该向量与 ``to`` 之间的距离。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_dot:
.. rst-class:: classref-method
:ref:`float<class_float>` **dot**\ (\ with\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_dot>`
返回该向量与 ``with`` 的点积。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_floor:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **floor**\ (\ ) |const| :ref:`🔗<class_Vector4_method_floor>`
返回一个新的向量,所有的向量都被四舍五入,向负无穷大。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_inverse:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **inverse**\ (\ ) |const| :ref:`🔗<class_Vector4_method_inverse>`
返回该向量的逆向量。与 ``Vector4(1.0 / v.x, 1.0 / v.y, 1.0 / v.z, 1.0 / v.w)`` 相同。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_is_equal_approx:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_equal_approx**\ (\ to\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_is_equal_approx>`
如果这个向量与 ``to`` 大致相等,则返回 ``true``\ ,判断方法是对每个分量执行 :ref:`@GlobalScope.is_equal_approx()<class_@GlobalScope_method_is_equal_approx>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_is_finite:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_finite**\ (\ ) |const| :ref:`🔗<class_Vector4_method_is_finite>`
如果该向量无穷,则返回 ``true``\ ,判断方法是对每个分量调用 :ref:`@GlobalScope.is_finite()<class_@GlobalScope_method_is_finite>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_is_normalized:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_normalized**\ (\ ) |const| :ref:`🔗<class_Vector4_method_is_normalized>`
如果该向量是归一化的,即长度约等于 1则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_is_zero_approx:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_zero_approx**\ (\ ) |const| :ref:`🔗<class_Vector4_method_is_zero_approx>`
如果该向量的值大约为零,则返回 ``true``\ ,判断方法是对每个分量运行 :ref:`@GlobalScope.is_zero_approx()<class_@GlobalScope_method_is_zero_approx>`\ 。
该方法比使用 :ref:`is_equal_approx()<class_Vector4_method_is_equal_approx>` 和零向量比较要快。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_length:
.. rst-class:: classref-method
:ref:`float<class_float>` **length**\ (\ ) |const| :ref:`🔗<class_Vector4_method_length>`
返回这个向量的长度,即大小。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_length_squared:
.. rst-class:: classref-method
:ref:`float<class_float>` **length_squared**\ (\ ) |const| :ref:`🔗<class_Vector4_method_length_squared>`
返回这个向量的平方长度,即平方大小。
这个方法比 :ref:`length()<class_Vector4_method_length>` 运行得更快,所以如果你需要比较向量或需要一些公式的平方距离时,更喜欢用它。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_lerp:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **lerp**\ (\ to\: :ref:`Vector4<class_Vector4>`, weight\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_lerp>`
返回此向量和 ``to`` 之间,按数量 ``weight`` 线性插值结果。\ ``weight````0.0````1.0`` 的范围内,代表插值的量。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_max:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **max**\ (\ with\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_max>`
返回自身与 ``with`` 各分量的最大值,等价于 ``Vector4(maxf(x, with.x), maxf(y, with.y), maxf(z, with.z), maxf(w, with.w))``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_max_axis_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **max_axis_index**\ (\ ) |const| :ref:`🔗<class_Vector4_method_max_axis_index>`
返回该向量中最大值的轴。见 ``AXIS_*`` 常量。如果所有分量相等,则该方法返回 :ref:`AXIS_X<class_Vector4_constant_AXIS_X>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_maxf:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **maxf**\ (\ with\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_maxf>`
返回自身与 ``with`` 各分量的最大值,等价于 ``Vector4(maxf(x, with), maxf(y, with), maxf(z, with), maxf(w, with))``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_min:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **min**\ (\ with\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_min>`
返回自身与 ``with`` 各分量的最小值,等价于 ``Vector4(minf(x, with.x), minf(y, with.y), minf(z, with.z), minf(w, with.w))``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_min_axis_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **min_axis_index**\ (\ ) |const| :ref:`🔗<class_Vector4_method_min_axis_index>`
返回该向量中最小值的轴。见 ``AXIS_*`` 常量。如果所有分量相等,则该方法返回 :ref:`AXIS_W<class_Vector4_constant_AXIS_W>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_minf:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **minf**\ (\ with\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_minf>`
返回自身与 ``with`` 各分量的最小值,等价于 ``Vector4(minf(x, with), minf(y, with), minf(z, with), minf(w, with))``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_normalized:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **normalized**\ (\ ) |const| :ref:`🔗<class_Vector4_method_normalized>`
返回该向量缩放至单位长度的结果。等价于 ``v / v.length()``\ 。如果 ``v.length() == 0`` 则返回 ``(0, 0, 0, 0)``\ 。另见 :ref:`is_normalized()<class_Vector4_method_is_normalized>`\ 。
\ **注意:**\ 如果输入向量的长度接近零,则这个函数可能返回不正确的值。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_posmod:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **posmod**\ (\ mod\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_posmod>`
返回由该向量的分量与 ``mod`` 执行 :ref:`@GlobalScope.fposmod()<class_@GlobalScope_method_fposmod>` 运算后组成的向量。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_posmodv:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **posmodv**\ (\ modv\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_posmodv>`
返回由该向量的分量与 ``modv`` 的分量执行 :ref:`@GlobalScope.fposmod()<class_@GlobalScope_method_fposmod>` 运算后组成的向量。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_round:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **round**\ (\ ) |const| :ref:`🔗<class_Vector4_method_round>`
返回所有分量都被四舍五入为最接近的整数的向量,中间情况向远离零的方向舍入。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_sign:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **sign**\ (\ ) |const| :ref:`🔗<class_Vector4_method_sign>`
返回新的向量,分量如果为正则设为 ``1.0``\ ,如果为负则设为 ``-1.0``\ ,如果为零则设为 ``0.0``\ 。结果与对每个分量调用 :ref:`@GlobalScope.sign()<class_@GlobalScope_method_sign>` 一致。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_snapped:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **snapped**\ (\ step\: :ref:`Vector4<class_Vector4>`\ ) |const| :ref:`🔗<class_Vector4_method_snapped>`
返回新的向量,每个分量都吸附到了与 ``step`` 中对应分量最接近的倍数。也可以用于将分量四舍五入至小数点后的任意位置。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_method_snappedf:
.. rst-class:: classref-method
:ref:`Vector4<class_Vector4>` **snappedf**\ (\ step\: :ref:`float<class_float>`\ ) |const| :ref:`🔗<class_Vector4_method_snappedf>`
返回一个新向量,其中每个分量都吸附到 ``step`` 的最接近的倍数。这也可以用于将分量四舍五入为任意数位的小数。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
运算符说明
----------
.. _class_Vector4_operator_neq_Vector4:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator !=**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_neq_Vector4>`
如果向量不相等,则返回 ``true``\ 。
\ **注意:**\ 由于浮点数精度误差,请考虑改用 :ref:`is_equal_approx()<class_Vector4_method_is_equal_approx>`\ ,会更可靠。
\ **注意:**\ 包含 :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` 元素的向量的行为与其他向量不同。因此,如果包含 NaN则这个方法的结果可能不准确。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_mul_Projection:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator ***\ (\ right\: :ref:`Projection<class_Projection>`\ ) :ref:`🔗<class_Vector4_operator_mul_Projection>`
通过给定 :ref:`Projection<class_Projection>` 矩阵的转置变换(乘以)该 **Vector4**\ 。
对于通过投影的逆进行的变换,可以使用 ``projection.inverse() * vector`` 代替。请参阅 :ref:`Projection.inverse()<class_Projection_method_inverse>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_mul_Vector4:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator ***\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_mul_Vector4>`
将该 **Vector4** 的每个分量乘以给定 **Vector4** 的对应分量。
::
print(Vector4(10, 20, 30, 40) * Vector4(3, 4, 5, 6)) # 输出 (30.0, 80.0, 150.0, 240.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_mul_float:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator ***\ (\ right\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Vector4_operator_mul_float>`
将该 **Vector4** 的每个分量乘以给定的 :ref:`float<class_float>`\ 。
::
print(Vector4(10, 20, 30, 40) * 2) # 输出 (20.0, 40.0, 60.0, 80.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_mul_int:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator ***\ (\ right\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4_operator_mul_int>`
将该 **Vector4** 的每个分量乘以给定的 :ref:`int<class_int>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_sum_Vector4:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator +**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_sum_Vector4>`
将该 **Vector4** 的每个分量加上给定 **Vector4** 的对应分量。
::
print(Vector4(10, 20, 30, 40) + Vector4(3, 4, 5, 6)) # 输出 (13.0, 24.0, 35.0, 46.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_dif_Vector4:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator -**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_dif_Vector4>`
将该 **Vector4** 的每个分量减去给定 **Vector4** 的对应分量。
::
print(Vector4(10, 20, 30, 40) - Vector4(3, 4, 5, 6)) # 输出 (7.0, 16.0, 25.0, 34.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_div_Vector4:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator /**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_div_Vector4>`
将该 **Vector4** 的每个分量除以给定 **Vector4** 的对应分量。
::
print(Vector4(10, 20, 30, 40) / Vector4(2, 5, 3, 4)) # 输出 (5.0, 4.0, 10.0, 10.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_div_float:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator /**\ (\ right\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Vector4_operator_div_float>`
将该 **Vector4** 的每个分量除以给定的 :ref:`float<class_float>`\ 。
::
print(Vector4(10, 20, 30, 40) / 2 # 输出 (5.0, 10.0, 15.0, 20.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_div_int:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator /**\ (\ right\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4_operator_div_int>`
将该 **Vector4** 的每个分量除以给定的 :ref:`int<class_int>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_lt_Vector4:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator <**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_lt_Vector4>`
比较两个 **Vector4** 向量,首先检查左向量的 X 值是否小于 ``right`` 向量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运算符可用于向量排序。
\ **注意:**\ 包含 :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` 元素的向量的行为与其他向量不同。因此,如果包含 NaN则这个方法的结果可能不准确。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_lte_Vector4:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator <=**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_lte_Vector4>`
比较两个 **Vector4** 向量,首先检查左向量的 X 值是否小于等于 ``right`` 向量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运算符可用于向量排序。
\ **注意:**\ 包含 :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` 元素的向量的行为与其他向量不同。因此,如果包含 NaN则这个方法的结果可能不准确。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_eq_Vector4:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator ==**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_eq_Vector4>`
如果向量完全相等,则返回 ``true``\ 。
\ **注意:**\ 由于浮点数精度误差,请考虑改用 :ref:`is_equal_approx()<class_Vector4_method_is_equal_approx>`\ ,会更可靠。
\ **注意:**\ 包含 :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` 元素的向量的行为与其他向量不同。因此,如果包含 NaN则这个方法的结果可能不准确。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_gt_Vector4:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator >**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_gt_Vector4>`
比较两个 **Vector4** 向量,首先检查左向量的 X 值是否大于 ``right`` 向量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运算符可用于向量排序。
\ **注意:**\ 包含 :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` 元素的向量的行为与其他向量不同。因此,如果包含 NaN则这个方法的结果可能不准确。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_gte_Vector4:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator >=**\ (\ right\: :ref:`Vector4<class_Vector4>`\ ) :ref:`🔗<class_Vector4_operator_gte_Vector4>`
比较两个 **Vector4** 向量,首先检查左向量的 X 值是否大于等于 ``right`` 向量的 X 值。如果 X 值完全相等,则用相同的方法检查两个向量的 Y 值、Z 值、W 值。该运算符可用于向量排序。
\ **注意:**\ 包含 :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` 元素的向量的行为与其他向量不同。因此,如果包含 NaN则这个方法的结果可能不准确。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_idx_int:
.. rst-class:: classref-operator
:ref:`float<class_float>` **operator []**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4_operator_idx_int>`
使用向量分量的 ``index`` 来访问向量分量。\ ``v[0]`` 等价于 ``v.x``\ \ ``v[1]`` 等价于 ``v.y``\ \ ``v[2]`` 等价于 ``v.z``\ \ ``v[3]`` 等价于 ``v.w``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_unplus:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator unary+**\ (\ ) :ref:`🔗<class_Vector4_operator_unplus>`
返回与 ``+`` 不存在时相同的值。单目 ``+`` 没有作用,但有时可以使你的代码更具可读性。
.. rst-class:: classref-item-separator
----
.. _class_Vector4_operator_unminus:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator unary-**\ (\ ) :ref:`🔗<class_Vector4_operator_unminus>`
返回该 **Vector4** 的负值。和写 ``Vector4(-v.x, -v.y, -v.z, -v.w)`` 是一样的。该操作在保持相同幅度的同时,翻转向量的方向。对于浮点数,零也有正负两种。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`