Files
godot-docs-l10n/classes/zh_Hant/class_vector4i.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

814 lines
35 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_Vector4i:
Vector4i
========
使用整數座標的 4D 向量。
.. rst-class:: classref-introduction-group
說明
----
A 4-element structure that can be used to represent 4D grid coordinates or any other quadruplet of integers.
It uses integer coordinates and is therefore preferable to :ref:`Vector4<class_Vector4>` when exact precision is required. Note that the values are limited to 32 bits, and unlike :ref:`Vector4<class_Vector4>` this cannot be configured with an engine build option. Use :ref:`int<class_int>` or :ref:`PackedInt64Array<class_PackedInt64Array>` if 64-bit values are needed.
\ **Note:** In a boolean context, a Vector4i will evaluate to ``false`` if it's equal to ``Vector4i(0, 0, 0, 0)``. Otherwise, a Vector4i will always evaluate to ``true``.
.. rst-class:: classref-reftable-group
屬性
----
.. table::
:widths: auto
+-----------------------+-------------------------------------+-------+
| :ref:`int<class_int>` | :ref:`w<class_Vector4i_property_w>` | ``0`` |
+-----------------------+-------------------------------------+-------+
| :ref:`int<class_int>` | :ref:`x<class_Vector4i_property_x>` | ``0`` |
+-----------------------+-------------------------------------+-------+
| :ref:`int<class_int>` | :ref:`y<class_Vector4i_property_y>` | ``0`` |
+-----------------------+-------------------------------------+-------+
| :ref:`int<class_int>` | :ref:`z<class_Vector4i_property_z>` | ``0`` |
+-----------------------+-------------------------------------+-------+
.. rst-class:: classref-reftable-group
建構子
------
.. table::
:widths: auto
+---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`Vector4i<class_Vector4i_constructor_Vector4i>`\ (\ ) |
+---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`Vector4i<class_Vector4i_constructor_Vector4i>`\ (\ from\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`Vector4i<class_Vector4i_constructor_Vector4i>`\ (\ from\: :ref:`Vector4<class_Vector4>`\ ) |
+---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`Vector4i<class_Vector4i_constructor_Vector4i>`\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`, z\: :ref:`int<class_int>`, w\: :ref:`int<class_int>`\ ) |
+---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`abs<class_Vector4i_method_abs>`\ (\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`clamp<class_Vector4i_method_clamp>`\ (\ min\: :ref:`Vector4i<class_Vector4i>`, max\: :ref:`Vector4i<class_Vector4i>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`clampi<class_Vector4i_method_clampi>`\ (\ min\: :ref:`int<class_int>`, max\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`distance_squared_to<class_Vector4i_method_distance_squared_to>`\ (\ to\: :ref:`Vector4i<class_Vector4i>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`distance_to<class_Vector4i_method_distance_to>`\ (\ to\: :ref:`Vector4i<class_Vector4i>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`length<class_Vector4i_method_length>`\ (\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`length_squared<class_Vector4i_method_length_squared>`\ (\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`max<class_Vector4i_method_max>`\ (\ with\: :ref:`Vector4i<class_Vector4i>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`max_axis_index<class_Vector4i_method_max_axis_index>`\ (\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`maxi<class_Vector4i_method_maxi>`\ (\ with\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`min<class_Vector4i_method_min>`\ (\ with\: :ref:`Vector4i<class_Vector4i>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`min_axis_index<class_Vector4i_method_min_axis_index>`\ (\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`mini<class_Vector4i_method_mini>`\ (\ with\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`sign<class_Vector4i_method_sign>`\ (\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`snapped<class_Vector4i_method_snapped>`\ (\ step\: :ref:`Vector4i<class_Vector4i>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`snappedi<class_Vector4i_method_snappedi>`\ (\ step\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
運算子
------
.. table::
:widths: auto
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator !=<class_Vector4i_operator_neq_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator %<class_Vector4i_operator_mod_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator %<class_Vector4i_operator_mod_int>`\ (\ right\: :ref:`int<class_int>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator *<class_Vector4i_operator_mul_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator *<class_Vector4i_operator_mul_float>`\ (\ right\: :ref:`float<class_float>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator *<class_Vector4i_operator_mul_int>`\ (\ right\: :ref:`int<class_int>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator +<class_Vector4i_operator_sum_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator -<class_Vector4i_operator_dif_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator /<class_Vector4i_operator_div_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4<class_Vector4>` | :ref:`operator /<class_Vector4i_operator_div_float>`\ (\ right\: :ref:`float<class_float>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator /<class_Vector4i_operator_div_int>`\ (\ right\: :ref:`int<class_int>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator \<<class_Vector4i_operator_lt_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator \<=<class_Vector4i_operator_lte_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator ==<class_Vector4i_operator_eq_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator ><class_Vector4i_operator_gt_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`operator >=<class_Vector4i_operator_gte_Vector4i>`\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`operator []<class_Vector4i_operator_idx_int>`\ (\ index\: :ref:`int<class_int>`\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator unary+<class_Vector4i_operator_unplus>`\ (\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Vector4i<class_Vector4i>` | :ref:`operator unary-<class_Vector4i_operator_unminus>`\ (\ ) |
+---------------------------------+----------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
列舉
----
.. _enum_Vector4i_Axis:
.. rst-class:: classref-enumeration
enum **Axis**: :ref:`🔗<enum_Vector4i_Axis>`
.. _class_Vector4i_constant_AXIS_X:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4i_Axis>` **AXIS_X** = ``0``
X 軸的列舉值。由 :ref:`max_axis_index()<class_Vector4i_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4i_method_min_axis_index>` 返回。
.. _class_Vector4i_constant_AXIS_Y:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4i_Axis>` **AXIS_Y** = ``1``
Y 軸的列舉值。由 :ref:`max_axis_index()<class_Vector4i_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4i_method_min_axis_index>` 返回。
.. _class_Vector4i_constant_AXIS_Z:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4i_Axis>` **AXIS_Z** = ``2``
Z 軸的列舉值。由 :ref:`max_axis_index()<class_Vector4i_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4i_method_min_axis_index>` 返回。
.. _class_Vector4i_constant_AXIS_W:
.. rst-class:: classref-enumeration-constant
:ref:`Axis<enum_Vector4i_Axis>` **AXIS_W** = ``3``
W 軸的列舉值。由 :ref:`max_axis_index()<class_Vector4i_method_max_axis_index>`:ref:`min_axis_index()<class_Vector4i_method_min_axis_index>` 返回。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
常數
----
.. _class_Vector4i_constant_ZERO:
.. rst-class:: classref-constant
**ZERO** = ``Vector4i(0, 0, 0, 0)`` :ref:`🔗<class_Vector4i_constant_ZERO>`
零向量,所有分量都設定為 ``0`` 的向量。
.. _class_Vector4i_constant_ONE:
.. rst-class:: classref-constant
**ONE** = ``Vector4i(1, 1, 1, 1)`` :ref:`🔗<class_Vector4i_constant_ONE>`
一向量,所有分量都設定為 ``1`` 的向量。
.. _class_Vector4i_constant_MIN:
.. rst-class:: classref-constant
**MIN** = ``Vector4i(-2147483648, -2147483648, -2147483648, -2147483648)`` :ref:`🔗<class_Vector4i_constant_MIN>`
最小向量,所有分量等於 ``INT32_MIN`` 的向量。可用作 :ref:`Vector4.INF<class_Vector4_constant_INF>` 的負整數等價物。
.. _class_Vector4i_constant_MAX:
.. rst-class:: classref-constant
**MAX** = ``Vector4i(2147483647, 2147483647, 2147483647, 2147483647)`` :ref:`🔗<class_Vector4i_constant_MAX>`
最大向量,所有分量等於 ``INT32_MAX`` 的向量。可用作 :ref:`Vector4.INF<class_Vector4_constant_INF>` 的整數等價物。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
屬性說明
--------
.. _class_Vector4i_property_w:
.. rst-class:: classref-property
:ref:`int<class_int>` **w** = ``0`` :ref:`🔗<class_Vector4i_property_w>`
該向量的 W 分量。也可以通過使用索引位置 ``[3]`` 存取。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_property_x:
.. rst-class:: classref-property
:ref:`int<class_int>` **x** = ``0`` :ref:`🔗<class_Vector4i_property_x>`
向量的 X 分量。也可以通過使用索引位置 ``[0]`` 存取。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_property_y:
.. rst-class:: classref-property
:ref:`int<class_int>` **y** = ``0`` :ref:`🔗<class_Vector4i_property_y>`
向量的 Y 分量。也可以通過使用索引位置 ``[1]`` 存取。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_property_z:
.. rst-class:: classref-property
:ref:`int<class_int>` **z** = ``0`` :ref:`🔗<class_Vector4i_property_z>`
向量的 Z 分量。也可以通過使用索引位置 ``[2]`` 存取。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
建構子說明
----------
.. _class_Vector4i_constructor_Vector4i:
.. rst-class:: classref-constructor
:ref:`Vector4i<class_Vector4i>` **Vector4i**\ (\ ) :ref:`🔗<class_Vector4i_constructor_Vector4i>`
建構預設初始化的 **Vector4i**\ ,所有分量都為 ``0``\ 。
.. rst-class:: classref-item-separator
----
.. rst-class:: classref-constructor
:ref:`Vector4i<class_Vector4i>` **Vector4i**\ (\ from\: :ref:`Vector4i<class_Vector4i>`\ )
建構給定 **Vector4i** 的副本。
.. rst-class:: classref-item-separator
----
.. rst-class:: classref-constructor
:ref:`Vector4i<class_Vector4i>` **Vector4i**\ (\ from\: :ref:`Vector4<class_Vector4>`\ )
根據給定的 :ref:`Vector4<class_Vector4>` 建構 **Vector4i**\ ,會將各個分量的小數部分截斷(向 0 取整)。要使用不同的行為,請考慮改為傳入 :ref:`Vector4.ceil()<class_Vector4_method_ceil>`\ 、\ :ref:`Vector4.floor()<class_Vector4_method_floor>` 或 :ref:`Vector4.round()<class_Vector4_method_round>` 的結果。
.. rst-class:: classref-item-separator
----
.. rst-class:: classref-constructor
:ref:`Vector4i<class_Vector4i>` **Vector4i**\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`, z\: :ref:`int<class_int>`, w\: :ref:`int<class_int>`\ )
返回具有給定分量的 **Vector4i**\ 。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法說明
--------
.. _class_Vector4i_method_abs:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **abs**\ (\ ) |const| :ref:`🔗<class_Vector4i_method_abs>`
返回一個新向量,其所有分量都是絕對值,即正值。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_clamp:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **clamp**\ (\ min\: :ref:`Vector4i<class_Vector4i>`, max\: :ref:`Vector4i<class_Vector4i>`\ ) |const| :ref:`🔗<class_Vector4i_method_clamp>`
返回一個新向量,每個分量都使用 :ref:`@GlobalScope.clamp()<class_@GlobalScope_method_clamp>` 限制在 ``min````max`` 之間。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_clampi:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **clampi**\ (\ min\: :ref:`int<class_int>`, max\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Vector4i_method_clampi>`
Returns a new vector with all components clamped between ``min`` and ``max``, by running :ref:`@GlobalScope.clamp()<class_@GlobalScope_method_clamp>` on each component.
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_distance_squared_to:
.. rst-class:: classref-method
:ref:`int<class_int>` **distance_squared_to**\ (\ to\: :ref:`Vector4i<class_Vector4i>`\ ) |const| :ref:`🔗<class_Vector4i_method_distance_squared_to>`
返回該向量與 ``to`` 之間的距離的平方。
該方法比 :ref:`distance_to()<class_Vector4i_method_distance_to>` 運作得更快,因此請在需要比較向量或者用於某些公式的平方距離時,優先使用這個方法。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_distance_to:
.. rst-class:: classref-method
:ref:`float<class_float>` **distance_to**\ (\ to\: :ref:`Vector4i<class_Vector4i>`\ ) |const| :ref:`🔗<class_Vector4i_method_distance_to>`
返回該向量與 ``to`` 之間的距離。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_length:
.. rst-class:: classref-method
:ref:`float<class_float>` **length**\ (\ ) |const| :ref:`🔗<class_Vector4i_method_length>`
返回這個向量的長度,即大小。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_length_squared:
.. rst-class:: classref-method
:ref:`int<class_int>` **length_squared**\ (\ ) |const| :ref:`🔗<class_Vector4i_method_length_squared>`
返回這個向量的平方長度,即平方大小。
這個方法比 :ref:`length()<class_Vector4i_method_length>` 運作得更快,所以如果你需要比較向量或需要一些公式的平方距離時,更喜歡用它。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_max:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **max**\ (\ with\: :ref:`Vector4i<class_Vector4i>`\ ) |const| :ref:`🔗<class_Vector4i_method_max>`
Returns the component-wise maximum of this and ``with``, equivalent to ``Vector4i(maxi(x, with.x), maxi(y, with.y), maxi(z, with.z), maxi(w, with.w))``.
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_max_axis_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **max_axis_index**\ (\ ) |const| :ref:`🔗<class_Vector4i_method_max_axis_index>`
返回該向量中最大值的軸。見 ``AXIS_*`` 常數。如果所有分量相等,則該方法返回 :ref:`AXIS_X<class_Vector4i_constant_AXIS_X>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_maxi:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **maxi**\ (\ with\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Vector4i_method_maxi>`
Returns the component-wise maximum of this and ``with``, equivalent to ``Vector4i(maxi(x, with), maxi(y, with), maxi(z, with), maxi(w, with))``.
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_min:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **min**\ (\ with\: :ref:`Vector4i<class_Vector4i>`\ ) |const| :ref:`🔗<class_Vector4i_method_min>`
Returns the component-wise minimum of this and ``with``, equivalent to ``Vector4i(mini(x, with.x), mini(y, with.y), mini(z, with.z), mini(w, with.w))``.
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_min_axis_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **min_axis_index**\ (\ ) |const| :ref:`🔗<class_Vector4i_method_min_axis_index>`
返回該向量中最小值的軸。見 ``AXIS_*`` 常數。如果所有分量相等,則該方法返回 :ref:`AXIS_W<class_Vector4i_constant_AXIS_W>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_mini:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **mini**\ (\ with\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Vector4i_method_mini>`
Returns the component-wise minimum of this and ``with``, equivalent to ``Vector4i(mini(x, with), mini(y, with), mini(z, with), mini(w, with))``.
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_sign:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **sign**\ (\ ) |const| :ref:`🔗<class_Vector4i_method_sign>`
返回一個新的向量,如果是正數,每個分量被設定為\ ``1`` ,如果是負數,\ ``-1`` ,如果是零,\ ``0`` 。其結果與對每個分量呼叫\ :ref:`@GlobalScope.sign()<class_@GlobalScope_method_sign>`\ 相同。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_snapped:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **snapped**\ (\ step\: :ref:`Vector4i<class_Vector4i>`\ ) |const| :ref:`🔗<class_Vector4i_method_snapped>`
返回新的向量,每個分量都吸附到了與 ``step`` 中對應分量最接近的倍數。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_method_snappedi:
.. rst-class:: classref-method
:ref:`Vector4i<class_Vector4i>` **snappedi**\ (\ step\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_Vector4i_method_snappedi>`
Returns a new vector with each component snapped to the closest multiple of ``step``.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
運算子說明
----------
.. _class_Vector4i_operator_neq_Vector4i:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator !=**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_neq_Vector4i>`
如果向量不相等,則返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_mod_Vector4i:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator %**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_mod_Vector4i>`
Gets the remainder of each component of the **Vector4i** with the components of the given **Vector4i**. This operation uses truncated division, which is often not desired as it does not work well with negative numbers. Consider using :ref:`@GlobalScope.posmod()<class_@GlobalScope_method_posmod>` instead if you want to handle negative numbers.
::
print(Vector4i(10, -20, 30, -40) % Vector4i(7, 8, 9, 10)) # Prints (3, -4, 3, 0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_mod_int:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator %**\ (\ right\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4i_operator_mod_int>`
Gets the remainder of each component of the **Vector4i** with the given :ref:`int<class_int>`. This operation uses truncated division, which is often not desired as it does not work well with negative numbers. Consider using :ref:`@GlobalScope.posmod()<class_@GlobalScope_method_posmod>` instead if you want to handle negative numbers.
::
print(Vector4i(10, -20, 30, -40) % 7) # Prints (3, -6, 2, -5)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_mul_Vector4i:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator ***\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_mul_Vector4i>`
Multiplies each component of the **Vector4i** by the components of the given **Vector4i**.
::
print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6)) # Prints (30, 80, 150, 240)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_mul_float:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator ***\ (\ right\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Vector4i_operator_mul_float>`
Multiplies each component of the **Vector4i** by the given :ref:`float<class_float>`.
Returns a Vector4 value due to floating-point operations.
::
print(Vector4i(10, 20, 30, 40) * 2) # Prints (20.0, 40.0, 60.0, 80.0)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_mul_int:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator ***\ (\ right\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4i_operator_mul_int>`
將該 **Vector4i** 的每個分量乘以給定的 :ref:`int<class_int>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_sum_Vector4i:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator +**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_sum_Vector4i>`
Adds each component of the **Vector4i** by the components of the given **Vector4i**.
::
print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # Prints (13, 24, 35, 46)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_dif_Vector4i:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator -**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_dif_Vector4i>`
Subtracts each component of the **Vector4i** by the components of the given **Vector4i**.
::
print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # Prints (7, 16, 25, 34)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_div_Vector4i:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator /**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_div_Vector4i>`
Divides each component of the **Vector4i** by the components of the given **Vector4i**.
::
print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # Prints (5, 4, 10, 10)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_div_float:
.. rst-class:: classref-operator
:ref:`Vector4<class_Vector4>` **operator /**\ (\ right\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Vector4i_operator_div_float>`
Divides each component of the **Vector4i** by the given :ref:`float<class_float>`.
Returns a Vector4 value due to floating-point operations.
::
print(Vector4i(1, 2, 3, 4) / 2.5) # Prints (0.4, 0.8, 1.2, 1.6)
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_div_int:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator /**\ (\ right\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4i_operator_div_int>`
將該 :ref:`Vector4<class_Vector4>` 的每個分量除以給定的 :ref:`int<class_int>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_lt_Vector4i:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator <**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_lt_Vector4i>`
比較兩個 **Vector4i** 向量,首先檢查左向量的 X 值是否小於 ``right`` 向量的 X 值。如果 X 值完全相等,則用相同的方法檢查兩個向量的 Y 值、Z 值、W 值。該運算符可用於向量排序。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_lte_Vector4i:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator <=**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_lte_Vector4i>`
比較兩個 **Vector4i** 向量,首先檢查左向量的 X 值是否小於等於 ``right`` 向量的 X 值。如果 X 值完全相等,則用相同的方法檢查兩個向量的 Y 值、Z 值、W 值。該運算子可用於向量排序。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_eq_Vector4i:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator ==**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_eq_Vector4i>`
如果向量完全相等,則返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_gt_Vector4i:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator >**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_gt_Vector4i>`
比較兩個 **Vector4i** 向量,首先檢查左向量的 X 值是否大於 ``right`` 向量的 X 值。如果 X 值完全相等,則用相同的方法檢查兩個向量的 Y 值、Z 值、W 值。該運算符可用於向量排序。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_gte_Vector4i:
.. rst-class:: classref-operator
:ref:`bool<class_bool>` **operator >=**\ (\ right\: :ref:`Vector4i<class_Vector4i>`\ ) :ref:`🔗<class_Vector4i_operator_gte_Vector4i>`
比較兩個 **Vector4i** 向量,首先檢查左向量的 X 值是否大於等於 ``right`` 向量的 X 值。如果 X 值完全相等,則用相同的方法檢查兩個向量的 Y 值、Z 值、W 值。該運算子可用於向量排序。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_idx_int:
.. rst-class:: classref-operator
:ref:`int<class_int>` **operator []**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Vector4i_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_Vector4i_operator_unplus:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator unary+**\ (\ ) :ref:`🔗<class_Vector4i_operator_unplus>`
返回與 ``+`` 不存在時相同的值。單目 ``+`` 沒有作用,但有時可以使你的程式碼更具可讀性。
.. rst-class:: classref-item-separator
----
.. _class_Vector4i_operator_unminus:
.. rst-class:: classref-operator
:ref:`Vector4i<class_Vector4i>` **operator unary-**\ (\ ) :ref:`🔗<class_Vector4i_operator_unminus>`
返回該 **Vector4i** 的負值。和寫 ``Vector4i(-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 (無回傳值。)`