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...
Vector3i
Un vettore 3D che utilizza coordinate intere.
Descrizione
Una struttura a 3 elementi che può essere utilizzata per rappresentare coordinate di griglia 3D o qualsiasi altra tripletta di numeri interi.
Utilizza coordinate intere ed è quindi preferibile a Vector3 quando è necessaria una precisione esatta. Nota che i valori sono limitati a 32 bit e, a differenza di Vector3, 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 Vector3i sarà valutato come false se è uguale a Vector3i(0, 0). Altrimenti, un Vector3i sarà sempre valutato come true.
Tutorial
Proprietà
|
||
|
||
|
Costruttori
Vector3i() |
|
Metodi
abs() const |
|
distance_squared_to(to: Vector3i) const |
|
distance_to(to: Vector3i) const |
|
length() const |
|
length_squared() const |
|
max_axis_index() const |
|
min_axis_index() const |
|
sign() const |
|
Operatori
operator !=(right: Vector3i) |
|
operator %(right: Vector3i) |
|
operator %(right: int) |
|
operator *(right: Vector3i) |
|
operator *(right: float) |
|
operator *(right: int) |
|
operator +(right: Vector3i) |
|
operator -(right: Vector3i) |
|
operator /(right: Vector3i) |
|
operator /(right: float) |
|
operator /(right: int) |
|
operator <(right: Vector3i) |
|
operator <=(right: Vector3i) |
|
operator ==(right: Vector3i) |
|
operator >(right: Vector3i) |
|
operator >=(right: Vector3i) |
|
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().
Axis AXIS_Z = 2
Valore enumerato per l'asse Z. Restituito da max_axis_index() e min_axis_index().
Costanti
ZERO = Vector3i(0, 0, 0) 🔗
Il vettore zero, un vettore con tutti i suoi componenti impostati su 0.
ONE = Vector3i(1, 1, 1) 🔗
Il vettore unitario, un vettore con tutti i suoi componenti impostati su 1.
MIN = Vector3i(-2147483648, -2147483648, -2147483648) 🔗
Il vettore minimo, un vettore con tutti i componenti uguali a INT32_MIN. Può essere utilizzato come equivalente negativo di Vector3.INF per gli interi.
MAX = Vector3i(2147483647, 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 = Vector3i(-1, 0, 0) 🔗
Il vettore unitario sinistro. Rappresenta la direzione locale di sinistra e la direzione globale dell'ovest.
RIGHT = Vector3i(1, 0, 0) 🔗
Il vettore unitario destro. Rappresenta la direzione locale di destra e la direzione globale dell'est.
UP = Vector3i(0, 1, 0) 🔗
Il vettore unitario verso l'alto.
DOWN = Vector3i(0, -1, 0) 🔗
Il vettore unitario verso il basso.
FORWARD = Vector3i(0, 0, -1) 🔗
Il vettore unitario anteriore. Rappresenta la direzione locale in avanti e la direzione globale del nord.
BACK = Vector3i(0, 0, 1) 🔗
Il vettore unitario posteriore. Rappresenta la direzione locale del retro e la direzione globale del sud.
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].
Il componente Z del vettore. Accessibile anche tramite la posizione di indice [2].
Descrizioni dei costruttori
Costruisce un Vector3i predefinito con tutti i componenti impostati su 0.
Vector3i Vector3i(from: Vector3i)
Costruisce un Vector3i come copia del Vector3i specificato.
Vector3i Vector3i(from: Vector3)
Costruisce un nuovo Vector3i dal Vector3 fornito, troncando le parti frazionarie dei componenti (arrotondando verso zero). Per un comportamento diverso, considera di passare il risultato di Vector3.ceil(), Vector3.floor() o Vector3.round() a questo costruttore.
Vector3i Vector3i(x: int, y: int, z: int)
Restituisce un Vector3i con i componenti forniti.
Descrizioni dei metodi
Restituisce un nuovo vettore con tutti i componenti in valori assoluti (ovvero positivi).
Vector3i clamp(min: Vector3i, max: Vector3i) const 🔗
Restituisce un nuovo vettore con tutti i suoi componenti limitati tra i componenti di min e max, eseguendo @GlobalScope.clamp() su ciascun componente.
Vector3i 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: Vector3i) const 🔗
Returns the squared Euclidean distance between this vector and to.
This method runs faster than distance_to(), so prefer it if you need to compare vectors or need the squared distance for some formula.
float distance_to(to: Vector3i) 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.
Vector3i max(with: Vector3i) const 🔗
Restituisce il massimo, componente per componente, di questo vettore e with, equivalente a Vector3i(maxi(x, with.x), maxi(y, with.y), maxi(z, with.z)).
Restituisce l'asse del valore più alto del vettore. Vedi le costanti AXIS_*. Se tutti i componenti sono uguali, questo metodo restituisce AXIS_X.
Vector3i maxi(with: int) const 🔗
Restituisce il massimo, componente per componente, di questo vettore e with, equivalente a Vector3i(maxi(x, with), maxi(y, with), maxi(z, with)).
Vector3i min(with: Vector3i) const 🔗
Restituisce il minimo, componente per componente, di questo vettore e with, equivalente a Vector3i(mini(x, with.x), mini(y, with.y), mini(z, with.z)).
Restituisce l'asse del valore più basso del vettore. Vedi le costanti AXIS_*. Se tutti i componenti sono uguali, questo metodo restituisce AXIS_Z.
Vector3i mini(with: int) const 🔗
Restituisce il minimo, componente per componente, di questo vettore e with, equivalente a Vector3i(mini(x, with), mini(y, with), mini(z, 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.
Vector3i snapped(step: Vector3i) const 🔗
Restituisce un nuovo vettore con ogni componente arrotondato al multiplo più vicino del componente corrispondente in step.
Vector3i snappedi(step: int) const 🔗
Restituisce un nuovo vettore con ogni componente arrotondato al multiplo più vicino di step.
Descrizioni degli operatori
bool operator !=(right: Vector3i) 🔗
Restituisce true se i vettori non sono uguali.
Vector3i operator %(right: Vector3i) 🔗
Ottiene il resto di ogni componente di Vector3i con i componenti del Vector3i 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(Vector3i(10, -20, 30) % Vector3i(7, 8, 9)) # Stampa (3, -4, 3)
Vector3i operator %(right: int) 🔗
Ottiene il resto di ogni componente di Vector3i 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(Vector3i(10, -20, 30) % 7) # Stampa (3, -6, 2)
Vector3i operator *(right: Vector3i) 🔗
Moltiplica ogni componente del Vector3i per i componenti del Vector3i fornito.
print(Vector3i(10, 20, 30) * Vector3i(3, 4, 5)) # Stampa (30, 80, 150)
Vector3 operator *(right: float) 🔗
Moltiplica ogni componente del Vector3i per il float fornito. Restituisce un Vector3.
print(Vector3i(10, 15, 20) * 0.9) # Stampa (9.0, 13.5, 18.0)
Vector3i operator *(right: int) 🔗
Moltiplica ogni componente del Vector3i per l'int fornito.
Vector3i operator +(right: Vector3i) 🔗
Aggiunge ogni componente del Vector3i con i componenti del Vector3i fornito.
print(Vector3i(10, 20, 30) + Vector3i(3, 4, 5)) # Stampa (13, 24, 35)
Vector3i operator -(right: Vector3i) 🔗
Sottrae ogni componente del Vector3i dai componenti del Vector3i fornito.
print(Vector3i(10, 20, 30) - Vector3i(3, 4, 5)) # Stampa (7, 16, 25)
Vector3i operator /(right: Vector3i) 🔗
Divide ogni componente del Vector3i per i componenti del Vector3i fornito.
print(Vector3i(10, 20, 30) / Vector3i(2, 5, 3)) # Stampa (5, 4, 10)
Vector3 operator /(right: float) 🔗
Divides each component of the Vector3i by the given float. Returns a Vector3.
print(Vector3i(1, 2, 3) / 2.5) # Prints (0.4, 0.8, 1.2)
Vector3i operator /(right: int) 🔗
Divide ogni componente del Vector3i per l'int fornito.
bool operator <(right: Vector3i) 🔗
Confronta due vettori Vector3i 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 e poi con i valori Z. Questo operatore è utile per ordinare i vettori.
bool operator <=(right: Vector3i) 🔗
Confronta due vettori Vector3i 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 e poi con i valori Z. Questo operatore è utile per ordinare i vettori.
bool operator ==(right: Vector3i) 🔗
Restituisce true se i vettori sono uguali.
bool operator >(right: Vector3i) 🔗
Confronta due vettori Vector3i 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 e poi con i valori Z. Questo operatore è utile per ordinare i vettori.
bool operator >=(right: Vector3i) 🔗
Confronta due vettori Vector3i 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 e poi con i valori Z. Questo operatore è utile per ordinare i vettori.
Accede ai componenti del vettore attraverso il loro indice (index). v[0] è equivalente a v.x, v[1] è equivalente a v.y, e v[2] è equivalente a v.z.
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 Vector3i. Equivale a scrivere Vector3i(-v.x, -v.y, -v.z). Questa operazione inverte la direzione del vettore mantenendo la stessa magnitudine.