:github_url: hide .. _class_Vector2: Vector2 ======= Un vettore 2D che utilizza coordinate in virgola mobile. .. rst-class:: classref-introduction-group Descrizione ---------------------- Una struttura a 2 elementi che può essere utilizzata per rappresentare coordinate 2D o qualsiasi altra coppia di valori numerici. Utilizza coordinate in virgola mobile. Per impostazione predefinita, questi valori in virgola mobile usano una precisione a 32 bit, a differenza di :ref:`float` che è sempre a 64 bit. Se è necessaria una precisione doppia, compila il motore con l'opzione ``precision=double``. Vedi :ref:`Vector2i` per la sua controparte con numeri interi. \ **Nota:** In un contesto booleano, un Vector2 sarà valutato come ``false`` se è uguale a ``Vector2(0, 0)``. Altrimenti, un Vector2 sarà sempre valutato come ``true``. .. rst-class:: classref-introduction-group Tutorial ---------------- - :doc:`Indice della documentazione di matematica <../tutorials/math/index>` - :doc:`Matematica dei vettori <../tutorials/math/vector_math>` - :doc:`Matematica avanzata dei vettori <../tutorials/math/vectors_advanced>` - `3Blue1Brown Essence of Linear Algebra `__ - `Demo di trasformazione di matrice `__ - `Tutte le demo 2D `__ .. rst-class:: classref-reftable-group Proprietà ------------------ .. table:: :widths: auto +---------------------------+------------------------------------+---------+ | :ref:`float` | :ref:`x` | ``0.0`` | +---------------------------+------------------------------------+---------+ | :ref:`float` | :ref:`y` | ``0.0`` | +---------------------------+------------------------------------+---------+ .. rst-class:: classref-reftable-group Costruttori ---------------------- .. table:: :widths: auto +-------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`Vector2`\ (\ ) | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`Vector2`\ (\ from\: :ref:`Vector2`\ ) | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`Vector2`\ (\ from\: :ref:`Vector2i`\ ) | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`Vector2`\ (\ x\: :ref:`float`, y\: :ref:`float`\ ) | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Metodi ------------ .. table:: :widths: auto +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`abs`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`angle`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`angle_to`\ (\ to\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`angle_to_point`\ (\ to\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`aspect`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bezier_derivative`\ (\ control_1\: :ref:`Vector2`, control_2\: :ref:`Vector2`, end\: :ref:`Vector2`, t\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bezier_interpolate`\ (\ control_1\: :ref:`Vector2`, control_2\: :ref:`Vector2`, end\: :ref:`Vector2`, t\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bounce`\ (\ n\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`ceil`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`clamp`\ (\ min\: :ref:`Vector2`, max\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`clampf`\ (\ min\: :ref:`float`, max\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`cross`\ (\ with\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`cubic_interpolate`\ (\ b\: :ref:`Vector2`, pre_a\: :ref:`Vector2`, post_b\: :ref:`Vector2`, weight\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`cubic_interpolate_in_time`\ (\ b\: :ref:`Vector2`, pre_a\: :ref:`Vector2`, post_b\: :ref:`Vector2`, weight\: :ref:`float`, b_t\: :ref:`float`, pre_a_t\: :ref:`float`, post_b_t\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`direction_to`\ (\ to\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`distance_squared_to`\ (\ to\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`distance_to`\ (\ to\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`dot`\ (\ with\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`floor`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`from_angle`\ (\ angle\: :ref:`float`\ ) |static| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_equal_approx`\ (\ to\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_finite`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_normalized`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_zero_approx`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`length`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`length_squared`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`lerp`\ (\ to\: :ref:`Vector2`, weight\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`limit_length`\ (\ length\: :ref:`float` = 1.0\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`max`\ (\ with\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`max_axis_index`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`maxf`\ (\ with\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`min`\ (\ with\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`min_axis_index`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`minf`\ (\ with\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`move_toward`\ (\ to\: :ref:`Vector2`, delta\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`normalized`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`orthogonal`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`posmod`\ (\ mod\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`posmodv`\ (\ modv\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`project`\ (\ b\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`reflect`\ (\ line\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`rotated`\ (\ angle\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`round`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`sign`\ (\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`slerp`\ (\ to\: :ref:`Vector2`, weight\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`slide`\ (\ n\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`snapped`\ (\ step\: :ref:`Vector2`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`snappedf`\ (\ step\: :ref:`float`\ ) |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Operatori ------------------ .. table:: :widths: auto +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator !=`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator *`\ (\ right\: :ref:`Transform2D`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator *`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator *`\ (\ right\: :ref:`float`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator *`\ (\ right\: :ref:`int`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator +`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator -`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator /`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator /`\ (\ right\: :ref:`float`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator /`\ (\ right\: :ref:`int`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator \<`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator \<=`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator ==`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator >`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator >=`\ (\ right\: :ref:`Vector2`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`operator []`\ (\ index\: :ref:`int`\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator unary+`\ (\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`operator unary-`\ (\ ) | +-------------------------------+----------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerazioni ------------------------ .. _enum_Vector2_Axis: .. rst-class:: classref-enumeration enum **Axis**: :ref:`🔗` .. _class_Vector2_constant_AXIS_X: .. rst-class:: classref-enumeration-constant :ref:`Axis` **AXIS_X** = ``0`` Valore enumerato per l'asse X. Restituito da :ref:`max_axis_index()` e :ref:`min_axis_index()`. .. _class_Vector2_constant_AXIS_Y: .. rst-class:: classref-enumeration-constant :ref:`Axis` **AXIS_Y** = ``1`` Valore enumerato per l'asse Y. Restituito da :ref:`max_axis_index()` e :ref:`min_axis_index()`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Costanti ---------------- .. _class_Vector2_constant_ZERO: .. rst-class:: classref-constant **ZERO** = ``Vector2(0, 0)`` :ref:`🔗` Il vettore zero, un vettore con tutti i suoi componenti impostati su ``0``. .. _class_Vector2_constant_ONE: .. rst-class:: classref-constant **ONE** = ``Vector2(1, 1)`` :ref:`🔗` Il vettore unitario, un vettore con tutti i suoi componenti impostati su ``1``. .. _class_Vector2_constant_INF: .. rst-class:: classref-constant **INF** = ``Vector2(inf, inf)`` :ref:`🔗` Il vettore infinito, un vettore con tutti i suoi componenti impostati su :ref:`@GDScript.INF`. .. _class_Vector2_constant_LEFT: .. rst-class:: classref-constant **LEFT** = ``Vector2(-1, 0)`` :ref:`🔗` Il vettore unitario sinistro. Rappresenta la direzione a sinistra. .. _class_Vector2_constant_RIGHT: .. rst-class:: classref-constant **RIGHT** = ``Vector2(1, 0)`` :ref:`🔗` Il vettore unitario destro. Rappresenta la direzione a destra. .. _class_Vector2_constant_UP: .. rst-class:: classref-constant **UP** = ``Vector2(0, -1)`` :ref:`🔗` Il vettore unitario verso l'alto. Y è verso il basso in 2D, quindi questo vettore punta verso -Y. .. _class_Vector2_constant_DOWN: .. rst-class:: classref-constant **DOWN** = ``Vector2(0, 1)`` :ref:`🔗` Il vettore unitario verso il basso. Y è verso il basso in 2D, quindi questo vettore punta verso +Y. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni delle proprietà ------------------------------------------------------ .. _class_Vector2_property_x: .. rst-class:: classref-property :ref:`float` **x** = ``0.0`` :ref:`🔗` Il componente X del vettore. Accessibile anche tramite la posizione di indice ``[0]``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_property_y: .. rst-class:: classref-property :ref:`float` **y** = ``0.0`` :ref:`🔗` Il componente Y del vettore. Accessibile anche tramite la posizione di indice ``[1]``. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei costruttori ------------------------------------------------------ .. _class_Vector2_constructor_Vector2: .. rst-class:: classref-constructor :ref:`Vector2` **Vector2**\ (\ ) :ref:`🔗` Costruisce un **Vector2** predefinito con tutti i componenti impostati su ``0``. .. rst-class:: classref-item-separator ---- .. rst-class:: classref-constructor :ref:`Vector2` **Vector2**\ (\ from\: :ref:`Vector2`\ ) Costruisce un **Vector2** come copia del **Vector2** specificato. .. rst-class:: classref-item-separator ---- .. rst-class:: classref-constructor :ref:`Vector2` **Vector2**\ (\ from\: :ref:`Vector2i`\ ) Costruisce un nuovo **Vector2** da :ref:`Vector2i`. .. rst-class:: classref-item-separator ---- .. rst-class:: classref-constructor :ref:`Vector2` **Vector2**\ (\ x\: :ref:`float`, y\: :ref:`float`\ ) Costruisce un nuovo **Vector2** dai parametri ``x`` e ``y`` forniti. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_Vector2_method_abs: .. rst-class:: classref-method :ref:`Vector2` **abs**\ (\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con tutti i componenti in valori assoluti (ovvero positivi). .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_angle: .. rst-class:: classref-method :ref:`float` **angle**\ (\ ) |const| :ref:`🔗` Returns this vector's angle with respect to the positive X axis, or ``(1, 0)`` vector, in radians. For example, ``Vector2.RIGHT.angle()`` will return zero, ``Vector2.DOWN.angle()`` will return ``PI / 2`` (a quarter turn, or 90 degrees), and ``Vector2(1, -1).angle()`` will return ``-PI / 4`` (a negative eighth turn, or -45 degrees). This is equivalent to calling :ref:`@GlobalScope.atan2()` with :ref:`y` and :ref:`x`. \ `Illustration of the returned angle. `__ .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_angle_to: .. rst-class:: classref-method :ref:`float` **angle_to**\ (\ to\: :ref:`Vector2`\ ) |const| :ref:`🔗` Returns the signed angle to the given vector, in radians. The result ranges from ``-PI`` to ``PI`` (inclusive). \ `Illustration of the returned angle. `__ .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_angle_to_point: .. rst-class:: classref-method :ref:`float` **angle_to_point**\ (\ to\: :ref:`Vector2`\ ) |const| :ref:`🔗` Returns the signed angle between the X axis and the line from this vector to point ``to``, in radians. The result ranges from ``-PI`` to ``PI`` (inclusive). \ ``a.angle_to_point(b)`` is equivalent to ``(b - a).angle()``. See also :ref:`angle()`. \ `Illustration of the returned angle. `__ .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_aspect: .. rst-class:: classref-method :ref:`float` **aspect**\ (\ ) |const| :ref:`🔗` Returns this vector's aspect ratio, which is :ref:`x` divided by :ref:`y`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_bezier_derivative: .. rst-class:: classref-method :ref:`Vector2` **bezier_derivative**\ (\ control_1\: :ref:`Vector2`, control_2\: :ref:`Vector2`, end\: :ref:`Vector2`, t\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce la derivata in ``t`` sulla `curva di Bézier `__ definita da questo vettore e dai punti ``control_1``, ``control_2`` e ``end`` specificati. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_bezier_interpolate: .. rst-class:: classref-method :ref:`Vector2` **bezier_interpolate**\ (\ control_1\: :ref:`Vector2`, control_2\: :ref:`Vector2`, end\: :ref:`Vector2`, t\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il in ``t`` sulla `curva di Bézier `__ definita da questo vettore e dai punti ``control_1``, ``control_2`` e ``end`` specificati. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_bounce: .. rst-class:: classref-method :ref:`Vector2` **bounce**\ (\ n\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce il vettore "rimbalzato" da una linea definita dalla normale ``n`` perpendicolare alla linea. \ **Nota:** :ref:`bounce()` esegue l'operazione che la maggior parte dei motori e framework chiama ``reflect()``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_ceil: .. rst-class:: classref-method :ref:`Vector2` **ceil**\ (\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con tutti i componenti arrotondati per eccesso (verso l'infinito positivo). .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_clamp: .. rst-class:: classref-method :ref:`Vector2` **clamp**\ (\ min\: :ref:`Vector2`, max\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con tutti i suoi componenti limitati tra i componenti di ``min`` e ``max``, eseguendo :ref:`@GlobalScope.clamp()` su ciascun componente. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_clampf: .. rst-class:: classref-method :ref:`Vector2` **clampf**\ (\ min\: :ref:`float`, max\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con tutti i suoi componenti limitati tra ``min`` e ``max``, eseguendo :ref:`@GlobalScope.clamp()` su ciascun componente. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_cross: .. rst-class:: classref-method :ref:`float` **cross**\ (\ with\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce l'analogo 2D del prodotto vettoriale per questo vettore e ``with``. Questa è l'area (con segno) del parallelogramma formato dai due vettori. Se il secondo vettore è in senso orario rispetto al primo vettore, il prodotto vettoriale è l'area positiva. Se è in senso antiorario, il prodotto vettoriale è l'area negativa. Se i due vettori sono paralleli, restituisce zero, il che lo rende utile per verificare se due vettori sono paralleli. \ **Nota:** Il prodotto vettoriale non è definito matematicamente in 2D. Questo metodo incorpora i vettori 2D nel piano XY dello spazio 3D e utilizza il componente Z del loro prodotto vettoriale come analogo. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_cubic_interpolate: .. rst-class:: classref-method :ref:`Vector2` **cubic_interpolate**\ (\ b\: :ref:`Vector2`, pre_a\: :ref:`Vector2`, post_b\: :ref:`Vector2`, weight\: :ref:`float`\ ) |const| :ref:`🔗` Esegue un'interpolazione cubica tra questo vettore e ``b`` usando ``pre_a`` e ``post_b`` come manopole e restituisce il risultato nella posizione ``weight``. ``weight`` è compreso tra 0,0 e 1,0, e rappresenta la quantità di interpolazione. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_cubic_interpolate_in_time: .. rst-class:: classref-method :ref:`Vector2` **cubic_interpolate_in_time**\ (\ b\: :ref:`Vector2`, pre_a\: :ref:`Vector2`, post_b\: :ref:`Vector2`, weight\: :ref:`float`, b_t\: :ref:`float`, pre_a_t\: :ref:`float`, post_b_t\: :ref:`float`\ ) |const| :ref:`🔗` Esegue un'interpolazione cubica tra questo vettore e ``b`` usando ``pre_a`` e ``post_b`` come manopole e restituisce il risultato nella posizione ``weight``. ``weight`` è compreso tra 0,0 e 1,0, e rappresenta la quantità di interpolazione. Può eseguire un'interpolazione più fluida rispetto al :ref:`cubic_interpolate()` in base ai valori temporali. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_direction_to: .. rst-class:: classref-method :ref:`Vector2` **direction_to**\ (\ to\: :ref:`Vector2`\ ) |const| :ref:`🔗` Returns the normalized vector pointing from this vector to ``to``. \ ``a.direction_to(b)`` is equivalent to ``(b - a).normalized()``. See also :ref:`normalized()`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_distance_squared_to: .. rst-class:: classref-method :ref:`float` **distance_squared_to**\ (\ to\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce la distanza al quadrato tra questo vettore e ``to``. Questo metodo è più veloce di :ref:`distance_to()`, quindi è preferibile se è necessario confrontare vettori o se è necessaria la distanza al quadrato per una formula. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_distance_to: .. rst-class:: classref-method :ref:`float` **distance_to**\ (\ to\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce la distanza tra questo vettore e ``to``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_dot: .. rst-class:: classref-method :ref:`float` **dot**\ (\ with\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce il prodotto scalare di questo vettore e ``with``. Può essere utilizzato per confrontare l'angolo tra due vettori. Ad esempio, può essere utilizzato per determinare se un nemico è rivolto verso il giocatore. Il prodotto scalare sarà ``0`` per un angolo retto (90 gradi), maggiore di 0 per angoli più stretti di 90 gradi e minore di 0 per angoli più larghi di 90 gradi. Quando si utilizzano vettori unitari (normalizzati), il risultato sarà sempre compreso tra ``-1.0`` (angolo di 180 gradi) quando i vettori sono rivolti in direzioni opposte e ``1.0`` (angolo di 0 gradi) quando i vettori sono allineati. \ **Nota:** ``a.dot(b)`` è equivalente a ``b.dot(a)``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_floor: .. rst-class:: classref-method :ref:`Vector2` **floor**\ (\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con tutti i componenti arrotondati per difetto (verso l'infinito negativo). .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_from_angle: .. rst-class:: classref-method :ref:`Vector2` **from_angle**\ (\ angle\: :ref:`float`\ ) |static| :ref:`🔗` Crea un **Vector2** unitario ruotato all'angolo ``angle``, in radianti. Ciò equivale a fare ``Vector2(cos(angle), sin(angle))`` o ``Vector2.RIGHT.rotated(angle)``. :: print(Vector2.from_angle(0)) # Stampa (1.0, 0.0) print(Vector2(1, 0).angle()) # Stampa 0.0, che è l'angolo usato in precedenza. print(Vector2.from_angle(PI / 2)) # Stampa (0.0, 1.0) \ **Nota:** La lunghezza del **Vector2** restituito è *circa* ``1.0``, ma non è garantito che sia esattamente ``1.0`` a causa di problemi di precisione in virgola mobile. Chiamare :ref:`normalized()` sul **Vector2** restituito se si necessita di un vettore unitario. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_is_equal_approx: .. rst-class:: classref-method :ref:`bool` **is_equal_approx**\ (\ to\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce ``true`` se questo vettore e ``to`` sono approssimativamente uguali, eseguendo :ref:`@GlobalScope.is_equal_approx()` su ciascun componente. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_is_finite: .. rst-class:: classref-method :ref:`bool` **is_finite**\ (\ ) |const| :ref:`🔗` Restituisce ``true`` se questo vettore è finito, eseguendo :ref:`@GlobalScope.is_finite()` su ciascun componente. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_is_normalized: .. rst-class:: classref-method :ref:`bool` **is_normalized**\ (\ ) |const| :ref:`🔗` Restituisce ``true`` se il vettore è normalizzato, ovvero la sua lunghezza è approssimativamente uguale a 1. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_is_zero_approx: .. rst-class:: classref-method :ref:`bool` **is_zero_approx**\ (\ ) |const| :ref:`🔗` Restituisce ``true`` se i valori di questo vettore sono approssimativamente zero, eseguendo :ref:`@GlobalScope.is_zero_approx()` su ciascun componente. Questo metodo è più veloce di :ref:`is_equal_approx()` con un valore come vettore zero. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_length: .. rst-class:: classref-method :ref:`float` **length**\ (\ ) |const| :ref:`🔗` Restituisce la lunghezza (magnitudine) di questo vettore. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_length_squared: .. rst-class:: classref-method :ref:`float` **length_squared**\ (\ ) |const| :ref:`🔗` Restituisce la lunghezza (magnitudine) al quadrato di questo vettore. Questo metodo è più veloce di :ref:`length()`, quindi è preferibile se è necessario confrontare vettori o se è necessaria la distanza al quadrato per una formula. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_lerp: .. rst-class:: classref-method :ref:`Vector2` **lerp**\ (\ to\: :ref:`Vector2`, weight\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il risultato dell'interpolazione lineare tra questo vettore e ``to`` per la quantità ``weight``. ``weight`` è compreso tra ``0.0`` e ``1.0``, che rappresenta la quantità di interpolazione. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_limit_length: .. rst-class:: classref-method :ref:`Vector2` **limit_length**\ (\ length\: :ref:`float` = 1.0\ ) |const| :ref:`🔗` Restituisce il vettore con una lunghezza massima limitandone la lunghezza a ``length``. Se il vettore non è finito, il risultato è indefinito. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_max: .. rst-class:: classref-method :ref:`Vector2` **max**\ (\ with\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce il massimo, componente per componente, di questo vettore e ``with``, equivalente a ``Vector2(maxf(x, with.x), maxf(y, with.y))``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_max_axis_index: .. rst-class:: classref-method :ref:`int` **max_axis_index**\ (\ ) |const| :ref:`🔗` Restituisce l'asse del valore più alto del vettore. Vedi le costanti ``AXIS_*``. Se tutti i componenti sono uguali, questo metodo restituisce :ref:`AXIS_X`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_maxf: .. rst-class:: classref-method :ref:`Vector2` **maxf**\ (\ with\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il massimo, componente per componente, di questo vettore e ``with``, equivalente a ``Vector2(maxf(x, with), maxf(y, with))``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_min: .. rst-class:: classref-method :ref:`Vector2` **min**\ (\ with\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce il minimo, componente per componente, di questo vettore e ``with``, equivalente a ``Vector2(minf(x, with.x), minf(y, with.y))``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_min_axis_index: .. rst-class:: classref-method :ref:`int` **min_axis_index**\ (\ ) |const| :ref:`🔗` Restituisce l'asse del valore più basso del vettore. Vedi le costanti ``AXIS_*``. Se tutti i componenti sono uguali, questo metodo restituisce :ref:`AXIS_Y`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_minf: .. rst-class:: classref-method :ref:`Vector2` **minf**\ (\ with\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il minimo, componente per componente, di questo vettore e ``with``, equivalente a ``Vector2(minf(x, with), minf(y, with))``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_move_toward: .. rst-class:: classref-method :ref:`Vector2` **move_toward**\ (\ to\: :ref:`Vector2`, delta\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore spostato verso ``to`` per la quantità ``delta``. Non andrà oltre il valore finale. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_normalized: .. rst-class:: classref-method :ref:`Vector2` **normalized**\ (\ ) |const| :ref:`🔗` Restituisce il risultato della scalatura del vettore a lunghezza unitaria. Equivalente a ``v / v.length()``. Restituisce ``(0, 0)`` se ``v.length() == 0``. Vedi anche :ref:`is_normalized()`. \ **Nota:** Questa funzione potrebbe restituire valori non corretti se la lunghezza del vettore passato è vicina a zero. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_orthogonal: .. rst-class:: classref-method :ref:`Vector2` **orthogonal**\ (\ ) |const| :ref:`🔗` Restituisce un vettore perpendicolare ruotato di 90 gradi in senso antiorario rispetto all'originale, con la stessa lunghezza. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_posmod: .. rst-class:: classref-method :ref:`Vector2` **posmod**\ (\ mod\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce un vettore composto dal risultato di :ref:`@GlobalScope.fposmod()` dai componenti di questo vettore e ``mod``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_posmodv: .. rst-class:: classref-method :ref:`Vector2` **posmodv**\ (\ modv\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce un vettore composto dal risultato di :ref:`@GlobalScope.fposmod()` dai componenti di questo vettore e i componenti di ``modv``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_project: .. rst-class:: classref-method :ref:`Vector2` **project**\ (\ b\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore risultante dalla proiezione di questo vettore sul vettore ``b``. Il nuovo vettore risultante è parallelo a ``b``. Vedi anche :ref:`slide()`. \ **Nota:** Se il vettore ``b`` è un vettore zero, i componenti del nuovo vettore risultante saranno :ref:`@GDScript.NAN`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_reflect: .. rst-class:: classref-method :ref:`Vector2` **reflect**\ (\ line\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce il risultato della riflessione del vettore da una linea definita dal vettore di direzione ``line``. \ **Nota:** :ref:`reflect()` differisce da ciò che altri motori e framework chiamano ``reflect()``. In altri motori, ``reflect()`` assume una direzione normale che è una direzione perpendicolare alla linea. In Godot, specifichi direttamente la direzione della linea. Vedi anche :ref:`bounce()` che fa ciò che la maggior parte dei motori chiama ``reflect()``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_rotated: .. rst-class:: classref-method :ref:`Vector2` **rotated**\ (\ angle\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il risultato della rotazione di questo vettore di ``angle`` (in radianti). Vedi anche :ref:`@GlobalScope.deg_to_rad()`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_round: .. rst-class:: classref-method :ref:`Vector2` **round**\ (\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con tutti i componenti arrotondati all'intero più vicino, con i casi a metà arrotondati lontani da zero. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_sign: .. rst-class:: classref-method :ref:`Vector2` **sign**\ (\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con ogni componente impostato su ``1.0`` se è positivo, ``-1.0`` se è negativo e ``0.0`` se è zero. Il risultato è identico alla chiamata di :ref:`@GlobalScope.sign()` su ciascun componente. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_slerp: .. rst-class:: classref-method :ref:`Vector2` **slerp**\ (\ to\: :ref:`Vector2`, weight\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il risultato dell'interpolazione lineare sferica tra questo vettore e ``to``, per la quantità ``weight``. ``weight`` è compreso tra 0,0 e 1,0, e rappresenta la quantità di interpolazione. Questo metodo gestisce anche l'interpolazione delle lunghezze se i vettori passati hanno lunghezze diverse. Per il caso speciale di uno o entrambi i vettori passati con lunghezza zero, questo metodo si comporta come :ref:`lerp()`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_slide: .. rst-class:: classref-method :ref:`Vector2` **slide**\ (\ n\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore risultante dallo scorrimento di questo vettore lungo una linea con la normale ``n``. Il nuovo vettore risultante è perpendicolare a ``n`` ed è equivalente a questo vettore meno la sua proiezione su ``n``. Vedi anche :ref:`project()`. \ **Nota:** Il vettore ``n`` deve essere normalizzato. Vedi anche :ref:`normalized()`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_snapped: .. rst-class:: classref-method :ref:`Vector2` **snapped**\ (\ step\: :ref:`Vector2`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con ciascun componente arrotondato al multiplo più vicino del componente corrispondente in ``step``. Può anche essere utilizzato per arrotondare i componenti a un numero arbitrario di decimali. .. rst-class:: classref-item-separator ---- .. _class_Vector2_method_snappedf: .. rst-class:: classref-method :ref:`Vector2` **snappedf**\ (\ step\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce un nuovo vettore con ogni componente arrotondato al multiplo più vicino di ``step``. Può anche essere utilizzato per arrotondare i componenti a un numero arbitrario di decimali. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni degli operatori ------------------------------------------------------ .. _class_Vector2_operator_neq_Vector2: .. rst-class:: classref-operator :ref:`bool` **operator !=**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Restituisce ``true`` se i vettori non sono uguali. \ **Nota:** A causa di errori di precisione per virgola mobile, considera invece utilizzare :ref:`is_equal_approx()`, che è più affidabile. \ **Nota:** I vettori con componenti :ref:`@GDScript.NAN` non si comportano allo stesso modo di altri vettori. Perciò, i risultati di questa operazione potrebbero non essere accurati se valori NaN sono inclusi. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_mul_Transform2D: .. rst-class:: classref-operator :ref:`Vector2` **operator ***\ (\ right\: :ref:`Transform2D`\ ) :ref:`🔗` Trasforma inversamente (moltiplica) il **Vector2** per la matrice di trasformazione :ref:`Transform2D` fornita, presupponendo che la base di trasformazione sia ortonormale (ovvero rotazione/riflessione vanno bene, ma scala/inclinazione no). \ ``vector * transform`` è equivalente a ``transform.inverse() * vector``. Vedi\ :ref:`Transform2D.inverse()`. Per trasformare per inverso una trasformazione affine (ad esempio con scala) può essere utilizzato ``transform.affine_inverse() * vector``. Vedi :ref:`Transform2D.affine_inverse()`. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_mul_Vector2: .. rst-class:: classref-operator :ref:`Vector2` **operator ***\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Moltiplica ogni componente del **Vector2** per i componenti del **Vector2** fornito. :: print(Vector2(10, 20) * Vector2(3, 4)) # Stampa (30.0, 80.0) .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_mul_float: .. rst-class:: classref-operator :ref:`Vector2` **operator ***\ (\ right\: :ref:`float`\ ) :ref:`🔗` Moltiplica ogni componente del :ref:`Vector2i` per il :ref:`float` fornito. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_mul_int: .. rst-class:: classref-operator :ref:`Vector2` **operator ***\ (\ right\: :ref:`int`\ ) :ref:`🔗` Moltiplica ogni componente del **Vector2** per l':ref:`int` fornito. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_sum_Vector2: .. rst-class:: classref-operator :ref:`Vector2` **operator +**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Aggiunge ogni componente del **Vector2** con i componenti del **Vector2** fornito. :: print(Vector2(10, 20) + Vector2(3, 4)) # Stampa (13.0, 24.0) .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_dif_Vector2: .. rst-class:: classref-operator :ref:`Vector2` **operator -**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Sottrae ogni componente del **Vector2** dai componenti del **Vector2** fornito. :: print(Vector2(10, 20) - Vector2(3, 4)) # Stampa (7.0, 16.0) .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_div_Vector2: .. rst-class:: classref-operator :ref:`Vector2` **operator /**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Divide ogni componente del **Vector2** per i componenti del **Vector2** fornito. :: print(Vector2(10, 20) / Vector2(2, 5)) # Stampa (5.0, 4.0) .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_div_float: .. rst-class:: classref-operator :ref:`Vector2` **operator /**\ (\ right\: :ref:`float`\ ) :ref:`🔗` Divide ogni componente del **Vector2** per il :ref:`float` fornito. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_div_int: .. rst-class:: classref-operator :ref:`Vector2` **operator /**\ (\ right\: :ref:`int`\ ) :ref:`🔗` Divide ogni componente del **Vector2** per l':ref:`int` fornito. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_lt_Vector2: .. rst-class:: classref-operator :ref:`bool` **operator <**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Confronta due vettori **Vector2** verificando prima se il valore X del vettore di sinistra è minore del valore X del vettore ``right``. Se i valori X sono esattamente uguali, ripete questa verifica con i valori Y dei due vettori. Questo operatore è utile per ordinare i vettori. \ **Nota:** I vettori con componenti :ref:`@GDScript.NAN` non si comportano come altri vettori. Pertanto, i risultati di questo operatore potrebbero non essere accurati se valori NAN sono inclusi. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_lte_Vector2: .. rst-class:: classref-operator :ref:`bool` **operator <=**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Confronta due vettori **Vector2** verificando prima se il valore X del vettore di sinistra è minore o uguale al valore X del vettore ``right``. Se i valori X sono esattamente uguali, ripete questa verifica con i valori Y dei due vettori. Questo operatore è utile per ordinare i vettori. \ **Nota:** I vettori con componenti :ref:`@GDScript.NAN` non si comportano come altri vettori. Pertanto, i risultati di questo operatore potrebbero non essere accurati se valori NAN sono inclusi. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_eq_Vector2: .. rst-class:: classref-operator :ref:`bool` **operator ==**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Restituisce ``true`` se i vettori sono esattamente uguali. \ **Nota:** A causa di errori di precisione per virgola mobile, considera invece utilizzare :ref:`is_equal_approx()`, che è più affidabile. \ **Nota:** I vettori con componenti :ref:`@GDScript.NAN` non si comportano come altri vettori. Pertanto, i risultati di questo operatore potrebbero non essere accurati se valori NAN sono inclusi. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_gt_Vector2: .. rst-class:: classref-operator :ref:`bool` **operator >**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Confronta due vettori **Vector2** verificando prima se il valore X del vettore di sinistra è maggiore del valore X del vettore ``right``. Se i valori X sono esattamente uguali, ripete questa verifica con i valori Y dei due vettori. Questo operatore è utile per ordinare i vettori. \ **Nota:** I vettori con componenti :ref:`@GDScript.NAN` non si comportano come altri vettori. Pertanto, i risultati di questo operatore potrebbero non essere accurati se valori NAN sono inclusi. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_gte_Vector2: .. rst-class:: classref-operator :ref:`bool` **operator >=**\ (\ right\: :ref:`Vector2`\ ) :ref:`🔗` Confronta due vettori **Vector2** verificando prima se il valore X del vettore di sinistra è maggiore del valore X del vettore ``right``. Se i valori X sono esattamente uguali, ripete questa verifica con i valori Y dei due vettori. Questo operatore è utile per ordinare i vettori. \ **Nota:** I vettori con componenti :ref:`@GDScript.NAN` non si comportano come altri vettori. Pertanto, i risultati di questo operatore potrebbero non essere accurati se valori NAN sono inclusi. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_idx_int: .. rst-class:: classref-operator :ref:`float` **operator []**\ (\ index\: :ref:`int`\ ) :ref:`🔗` Accede ai componenti del vettore attraverso il loro indice (``index``). ``v[0]`` è equivalente a ``v.x``, mentre ``v[1]`` è equivalente a ``v.y``. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_unplus: .. rst-class:: classref-operator :ref:`Vector2` **operator unary+**\ (\ ) :ref:`🔗` Restituisce lo stesso valore come se ``+`` non ci fosse. Il ``+`` unario non fa nulla, ma a volte può rendere il tuo codice più leggibile. .. rst-class:: classref-item-separator ---- .. _class_Vector2_operator_unminus: .. rst-class:: classref-operator :ref:`Vector2` **operator unary-**\ (\ ) :ref:`🔗` Restituisce il valore negativo del **Vector2**. Equivale a scrivere ``Vector2(-v.x, -v.y)``. Questa operazione inverte la direzione del vettore mantenendo la stessa magnitudine. Con i float, il numero zero può essere sia positivo sia negativo. .. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)` .. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)` .. |constructor| replace:: :abbr:`constructor (Questo metodo è utilizzato per creare un tipo.)` .. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può essere chiamato direttamente usando il nome della classe.)` .. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)` .. |bitfield| replace:: :abbr:`BitField (Questo valore è un intero composto da una maschera di bit dei seguenti flag.)` .. |void| replace:: :abbr:`void (Nessun valore restituito.)`