Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Vector2i
Un vettore 2D che utilizza coordinate intere.
Descrizione
Una struttura a 2 elementi che può essere utilizzata per rappresentare coordinate di griglia 2D o qualsiasi altra coppia di numeri interi.
Utilizza coordinate intere ed è quindi preferibile a Vector2 quando è necessaria una precisione esatta. Nota che i valori sono limitati a 32 bit e, a differenza di Vector2, questo non può essere configurato con un'opzione di build del motore. Utilizza int o PackedInt64Array se sono necessari valori a 64 bit.
Nota: In un contesto booleano, un Vector2i sarà valutato come false se è uguale a Vector2i(0, 0). Altrimenti, un Vector2i sarà sempre valutato come true.
Tutorial
Proprietà
|
||
|
Costruttori
Vector2i() |
|
Metodi
abs() const |
|
aspect() const |
|
distance_squared_to(to: Vector2i) const |
|
distance_to(to: Vector2i) const |
|
length() const |
|
length_squared() const |
|
max_axis_index() const |
|
min_axis_index() const |
|
sign() const |
|
Operatori
operator !=(right: Vector2i) |
|
operator %(right: Vector2i) |
|
operator %(right: int) |
|
operator *(right: Vector2i) |
|
operator *(right: float) |
|
operator *(right: int) |
|
operator +(right: Vector2i) |
|
operator -(right: Vector2i) |
|
operator /(right: Vector2i) |
|
operator /(right: float) |
|
operator /(right: int) |
|
operator <(right: Vector2i) |
|
operator <=(right: Vector2i) |
|
operator ==(right: Vector2i) |
|
operator >(right: Vector2i) |
|
operator >=(right: Vector2i) |
|
operator [](index: int) |
|
Enumerazioni
enum Axis: 🔗
Axis AXIS_X = 0
Valore enumerato per l'asse X. Restituito da max_axis_index() e min_axis_index().
Axis AXIS_Y = 1
Valore enumerato per l'asse Y. Restituito da max_axis_index() e min_axis_index().
Costanti
ZERO = Vector2i(0, 0) 🔗
Il vettore zero, un vettore con tutti i suoi componenti impostati su 0.
ONE = Vector2i(1, 1) 🔗
Il vettore unitario, un vettore con tutti i suoi componenti impostati su 1.
MIN = Vector2i(-2147483648, -2147483648) 🔗
Il vettore minimo, un vettore con tutti i componenti uguali a INT32_MIN. Può essere utilizzato come equivalente negativo di Vector2.INF per gli interi.
MAX = Vector2i(2147483647, 2147483647) 🔗
Il vettore massimo, un vettore con tutti i componenti uguali a INT32_MAX. Può essere utilizzato come equivalente di Vector3.INF per gli interi.
LEFT = Vector2i(-1, 0) 🔗
Il vettore unitario sinistro. Rappresenta la direzione a sinistra.
RIGHT = Vector2i(1, 0) 🔗
Il vettore unitario destro. Rappresenta la direzione a destra.
UP = Vector2i(0, -1) 🔗
Il vettore unitario verso l'alto. Y è verso il basso in 2D, quindi questo vettore punta verso -Y.
DOWN = Vector2i(0, 1) 🔗
Il vettore unitario verso il basso. Y è verso il basso in 2D, quindi questo vettore punta verso +Y.
Descrizioni delle proprietà
Il componente X del vettore. Accessibile anche tramite la posizione di indice [0].
Il componente Y del vettore. Accessibile anche tramite la posizione di indice [1].
Descrizioni dei costruttori
Costruisce un Vector2i predefinito con tutti i componenti impostati su 0.
Vector2i Vector2i(from: Vector2i)
Costruisce un Vector2i come copia del Vector2i specificato.
Vector2i Vector2i(from: Vector2)
Costruisce un nuovo Vector2i dal Vector2 fornito, troncando le parti frazionarie dei componenti (arrotondando verso zero). Per un comportamento diverso, considera di passare il risultato di Vector2.ceil(), Vector2.floor() o Vector2.round() a questo costruttore.
Vector2i Vector2i(x: int, y: int)
Costruisce un nuovo Vector2i dai parametri x e y forniti.
Descrizioni dei metodi
Restituisce un nuovo vettore con tutti i componenti in valori assoluti (ovvero positivi).
Restituisce le proporzioni di questo vettore, il rapporto tra x e y.
Vector2i clamp(min: Vector2i, max: Vector2i) const 🔗
Restituisce un nuovo vettore con tutti i suoi componenti limitati tra i componenti di min e max, eseguendo @GlobalScope.clamp() su ciascun componente.
Vector2i clampi(min: int, max: int) const 🔗
Restituisce un nuovo vettore con tutti i suoi componenti limitati tra min e max, eseguendo @GlobalScope.clamp() su ciascun componente.
int distance_squared_to(to: Vector2i) const 🔗
Restituisce la distanza euclidea al quadrato tra questo vettore e to.
Questo metodo è più veloce di distance_to(), quindi è preferibile se è necessario confrontare vettori o se è necessaria la distanza al quadrato per qualche formula.
float distance_to(to: Vector2i) const 🔗
Restituisce la distanza euclidea tra questo vettore e to.
Restituisce la lunghezza (magnitudine) di questo vettore.
Restituisce la lunghezza (magnitudine) al quadrato di questo vettore.
Questo metodo è più veloce di length(), quindi è preferibile se è necessario confrontare vettori o se è necessaria la distanza al quadrato per una formula.
Vector2i max(with: Vector2i) const 🔗
Restituisce il massimo, componente per componente, di questo vettore e with, equivalente a Vector2i(maxi(x, with.x), maxi(y, with.y)).
Restituisce l'asse del valore più alto del vettore. Vedi le costanti AXIS_*. Se tutti i componenti sono uguali, questo metodo restituisce AXIS_X.
Vector2i maxi(with: int) const 🔗
Restituisce il massimo, componente per componente, di questo vettore e with, equivalente a Vector2i(maxi(x, with), maxi(y, with)).
Vector2i min(with: Vector2i) const 🔗
Restituisce il minimo, componente per componente, di questo vettore e with, equivalente a Vector2i(mini(x, with.x), mini(y, with.y)).
Restituisce l'asse del valore più basso del vettore. Vedi le costanti AXIS_*. Se tutti i componenti sono uguali, questo metodo restituisce AXIS_Y.
Vector2i mini(with: int) const 🔗
Restituisce il minimo, componente per componente, di questo vettore e with, equivalente a Vector2i(mini(x, with), mini(y, with)).
Restituisce un nuovo vettore con ogni componente impostato su 1 se è positivo, -1 se è negativo e 0 se è zero. Il risultato è identico alla chiamata di @GlobalScope.sign() su ogni componente.
Vector2i snapped(step: Vector2i) const 🔗
Restituisce un nuovo vettore con ogni componente arrotondato al multiplo più vicino del componente corrispondente in step.
Vector2i snappedi(step: int) const 🔗
Restituisce un nuovo vettore con ogni componente arrotondato al multiplo più vicino di step.
Descrizioni degli operatori
bool operator !=(right: Vector2i) 🔗
Restituisce true se i vettori non sono uguali.
Vector2i operator %(right: Vector2i) 🔗
Ottiene il resto di ogni componente di Vector2i con i componenti del Vector2i fornito. Questa operazione usa la divisione troncata, che spesso non è desiderata in quanto non funziona bene con i numeri negativi. Considera di usare @GlobalScope.posmod() se vuoi gestire i numeri negativi.
print(Vector2i(10, -20) % Vector2i(7, 8)) # Stampa (3, -4)
Vector2i operator %(right: int) 🔗
Ottiene il resto di ogni componente di Vector2i con l'int fornito. Questa operazione usa la divisione troncata, che spesso non è desiderata in quanto non funziona bene con i numeri negativi. Considera di usare @GlobalScope.posmod() se vuoi gestire i numeri negativi.
print(Vector2i(10, -20) % 7) # Stampa (3, -6)
Vector2i operator *(right: Vector2i) 🔗
Moltiplica ogni componente del Vector2i per i componenti del Vector2i fornito.
print(Vector2i(10, 20) * Vector2i(3, 4)) # Stampa (30, 80)
Vector2 operator *(right: float) 🔗
Moltiplica ogni componente del Vector2i per il float fornito. Restituisce un Vector2.
print(Vector2i(10, 15) * 0.9) # Stampa (9.0, 13.5)
Vector2i operator *(right: int) 🔗
Moltiplica ogni componente del Vector2i per l'int fornito.
Vector2i operator +(right: Vector2i) 🔗
Aggiunge ogni componente del Vector2i con i componenti del Vector2i fornito.
print(Vector2i(10, 20) + Vector2i(3, 4)) # Stampa (13, 24)
Vector2i operator -(right: Vector2i) 🔗
Sottrae ogni componente del Vector2i dai componenti del Vector2i fornito.
print(Vector2i(10, 20) - Vector2i(3, 4)) # Stampa (7, 16)
Vector2i operator /(right: Vector2i) 🔗
Divide ogni componente del Vector2i per i componenti del Vector2i fornito.
print(Vector2i(10, 20) / Vector2i(2, 5)) # Stampa (5, 4)
Vector2 operator /(right: float) 🔗
Divides each component of the Vector2i by the given float. Returns a Vector2.
print(Vector2i(1, 2) / 2.5) # Prints (0.4, 0.8)
Vector2i operator /(right: int) 🔗
Divide ogni componente del Vector2i per l'int fornito.
bool operator <(right: Vector2i) 🔗
Confronta due vettori Vector2i 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.
bool operator <=(right: Vector2i) 🔗
Confronta due vettori Vector2i 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.
bool operator ==(right: Vector2i) 🔗
Restituisce true se i vettori sono uguali.
bool operator >(right: Vector2i) 🔗
Confronta due vettori Vector2i 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.
bool operator >=(right: Vector2i) 🔗
Confronta due vettori Vector2i verificando prima se il valore X del vettore di sinistra è maggiore 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.
Accede ai componenti del vettore attraverso il loro indice (index). v[0] è equivalente a v.x, mentre v[1] è equivalente a v.y.
Restituisce lo stesso valore come se + non ci fosse. Il + unario non fa nulla, ma a volte può rendere il tuo codice più leggibile.
Restituisce il valore negativo del Vector2i. Equivale a scrivere Vector2i(-v.x, -v.y). Questa operazione inverte la direzione del vettore mantenendo la stessa magnitudine.