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.

Vector4i

Un vector 4D que utiliza coordenadas enteras.

Descripción

Estructura de 4 elementos que puede ser usada para representar coordenadas de cuadrícula 4D o cualquier otro cuarteto de enteros.

Utiliza coordenadas enteras y por lo tanto es preferible a Vector4 cuando se requiere precisión exacta. Ten en cuenta que los valores están limitados a 32 bits, y a diferencia de Vector4 esto no se puede configurar con una opción de compilación del motor. Usa int o PackedInt64Array si se necesitan valores de 64 bits.

Nota: En un contexto booleano, un Vector4i evaluará a false si es igual a Vector4i(0, 0, 0, 0). De lo contrario, un Vector4i siempre evaluará a true.

Propiedades

int

w

0

int

x

0

int

y

0

int

z

0

Constructores

Vector4i

Vector4i()

Vector4i

Vector4i(from: Vector4i)

Vector4i

Vector4i(from: Vector4)

Vector4i

Vector4i(x: int, y: int, z: int, w: int)

Métodos

Vector4i

abs() const

Vector4i

clamp(min: Vector4i, max: Vector4i) const

Vector4i

clampi(min: int, max: int) const

int

distance_squared_to(to: Vector4i) const

float

distance_to(to: Vector4i) const

float

length() const

int

length_squared() const

Vector4i

max(with: Vector4i) const

int

max_axis_index() const

Vector4i

maxi(with: int) const

Vector4i

min(with: Vector4i) const

int

min_axis_index() const

Vector4i

mini(with: int) const

Vector4i

sign() const

Vector4i

snapped(step: Vector4i) const

Vector4i

snappedi(step: int) const

Operadores

bool

operator !=(right: Vector4i)

Vector4i

operator %(right: Vector4i)

Vector4i

operator %(right: int)

Vector4i

operator *(right: Vector4i)

Vector4

operator *(right: float)

Vector4i

operator *(right: int)

Vector4i

operator +(right: Vector4i)

Vector4i

operator -(right: Vector4i)

Vector4i

operator /(right: Vector4i)

Vector4

operator /(right: float)

Vector4i

operator /(right: int)

bool

operator <(right: Vector4i)

bool

operator <=(right: Vector4i)

bool

operator ==(right: Vector4i)

bool

operator >(right: Vector4i)

bool

operator >=(right: Vector4i)

int

operator [](index: int)

Vector4i

operator unary+()

Vector4i

operator unary-()


Enumeraciones

enum Axis: 🔗

Axis AXIS_X = 0

Valor enumerado para el eje X. Devuelto por max_axis_index() y min_axis_index().

Axis AXIS_Y = 1

Valor enumerado para el eje Y. Devuelto por max_axis_index() y min_axis_index().

Axis AXIS_Z = 2

Valor enumerado para el eje Z. Devuelto por max_axis_index() y min_axis_index().

Axis AXIS_W = 3

Valor enumerado para el eje W. Devuelto por max_axis_index() y min_axis_index().


Constantes

ZERO = Vector4i(0, 0, 0, 0) 🔗

Vector cero, un vector con todos los componentes ajustados a 0.

ONE = Vector4i(1, 1, 1, 1) 🔗

Un vector, un vector con todos los componentes ajustados a 1.

MIN = Vector4i(-2147483648, -2147483648, -2147483648, -2147483648) 🔗

Vector mínimo, un vector con todos los componentes iguales a INT32_MIN. Se puede utilizar como un entero negativo equivalente a Vector4.INF.

MAX = Vector4i(2147483647, 2147483647, 2147483647, 2147483647) 🔗

Vector máximo, un vector con todos los componentes iguales a INT32_MAX. Se puede usar como un equivalente entero de Vector4.INF.


Descripciones de Propiedades

int w = 0 🔗

El componente W del vector. También se puede acceder utilizando la posición del índice [3].


int x = 0 🔗

El componente X del vector. También se puede acceder utilizando la posición del índice [0].


int y = 0 🔗

El componente Y del vector. También se puede acceder usando la posición del índice [1].


int z = 0 🔗

El componente Z del vector. También se puede acceder usando la posición del índice [2].


Descripciones de Constructores

Vector4i Vector4i() 🔗

Construye un Vector4i inicializado por defecto con todos los componentes a 0.


Vector4i Vector4i(from: Vector4i)

Construye un Vector4i a partir del Vector4i dado.


Vector4i Vector4i(from: Vector4)

Construye un nuevo Vector4i a partir del Vector4 dado truncando las fracciones de los componentes (redondeando hacia cero). Para un comportamiento diferente, considera pasar el resultado de Vector4.ceil(), Vector4.floor() o Vector4.round() a este constructor.


Vector4i Vector4i(x: int, y: int, z: int, w: int)

Devuelve un Vector4i con los componentes dados.


Descripciones de Métodos

Vector4i abs() const 🔗

Devuelve un nuevo vector con todos los componentes en valores absolutos (es decir, positivos).


Vector4i clamp(min: Vector4i, max: Vector4i) const 🔗

Devuelve un nuevo vector con todos los componentes limitados entre los componentes de min y max, ejecutando @GlobalScope.clamp() en cada componente.


Vector4i clampi(min: int, max: int) const 🔗

Devuelve un nuevo vector con todos los componentes restringidos entre min y max, ejecutando @GlobalScope.clamp() en cada componente.


int distance_squared_to(to: Vector4i) 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: Vector4i) const 🔗

Devuelve la distancia euclidiana entre este vector y to.


float length() const 🔗

Devuelve la longitud (magnitud) de este vector.


int length_squared() const 🔗

Devuelve la longitud cuadrada (magnitud cuadrada) de este vector.

Este método funciona más rápido que el length(), por lo que es preferible si necesitas comparar vectores o necesitas la distancia al cuadrado para alguna fórmula.


Vector4i max(with: Vector4i) const 🔗

Devuelve el máximo por componente de este y with, equivalente a Vector4i(maxi(x, with.x), maxi(y, with.y), maxi(z, with.z), maxi(w, with.w)).


int max_axis_index() const 🔗

Devuelve el eje del valor más alto del vector. Véanse las constantes AXIS_*. Si todos los componentes son iguales, este método devuelve AXIS_X.


Vector4i maxi(with: int) const 🔗

Devuelve el máximo por componente de este y with, equivalente a Vector4i(maxi(x, with), maxi(y, with), maxi(z, with), maxi(w, with)).


Vector4i min(with: Vector4i) const 🔗

Devuelve el mínimo componente por componente de este y with, equivalente a Vector4i(mini(x, with.x), mini(y, with.y), mini(z, with.z), mini(w, with.w)).


int min_axis_index() const 🔗

Devuelve el eje del valor más bajo del vector. Ver las constantes AXIS_*. Si todos los componentes son iguales, este método devuelve AXIS_W.


Vector4i mini(with: int) const 🔗

Devuelve el mínimo componente por componente de este y with, equivalente a Vector4i(mini(x, with), mini(y, with), mini(z, with), mini(w, with)).


Vector4i sign() const 🔗

Devuelve un nuevo vector con cada componente establecido en 1 si es positivo, -1 si es negativo y 0 si es cero. El resultado es idéntico a llamar a @GlobalScope.sign() en cada componente.


Vector4i snapped(step: Vector4i) const 🔗

Devuelve un nuevo vector con cada componente ajustado al múltiplo más cercano del componente correspondiente en step.


Vector4i snappedi(step: int) const 🔗

Devuelve un nuevo vector con cada componente ajustado al múltiplo más cercano de step.


Descripciones de Operadores

bool operator !=(right: Vector4i) 🔗

Devuelve true si los vectores no son iguales.


Vector4i operator %(right: Vector4i) 🔗

Obtiene el resto de cada componente del Vector4i con los componentes del Vector4i dado. Esta operación usa división truncada, que a menudo no es deseada ya que no funciona bien con números negativos. Considera usar @GlobalScope.posmod() en su lugar si quieres manejar números negativos.

print(Vector4i(10, -20, 30, -40) % Vector4i(7, 8, 9, 10)) # Imprime (3, -4, 3, 0)

Vector4i operator %(right: int) 🔗

Obtiene el resto de cada componente del Vector4i con el int dado. Esta operación usa división truncada, que a menudo no es deseada ya que no funciona bien con números negativos. Considera usar @GlobalScope.posmod() en su lugar si quieres manejar números negativos.

print(Vector4i(10, -20, 30, -40) % 7) # Imprime (3, -6, 2, -5)

Vector4i operator *(right: Vector4i) 🔗

Multiplica cada componente de Vector4i por los componentes de Vector4i dado.

print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6)) # Imprime (30, 80, 150, 240)

Vector4 operator *(right: float) 🔗

Multiplica cada componente de Vector4i por el float dado.

Devuelve un valor de Vector4 debido a operaciones de punto flotante.

print(Vector4i(10, 20, 30, 40) * 2) # Imprime (20.0, 40.0, 60.0, 80.0)

Vector4i operator *(right: int) 🔗

Multiplica cada componente del Vector4i por el int dado.


Vector4i operator +(right: Vector4i) 🔗

Suma cada componente del Vector4i con los componentes del Vector4i dado.

print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # Imprime (13, 24, 35, 46)

Vector4i operator -(right: Vector4i) 🔗

Resta cada componente del Vector4i por los componentes del Vector4i dado.

print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # Imprime (7, 16, 25, 34)

Vector4i operator /(right: Vector4i) 🔗

Divide cada componente del Vector4i por los componentes del Vector4i dado.

print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # Imprime (5, 4, 10, 10)

Vector4 operator /(right: float) 🔗

Divides each component of the Vector4i by the given 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)

Vector4i operator /(right: int) 🔗

Divide cada componente del Vector4i por el int dado.


bool operator <(right: Vector4i) 🔗

Compara dos vectores Vector4i comprobando primero si el valor X del vector izquierdo es menor que el valor X del vector right. Si los valores X son exactamente iguales, repite esta comprobación con los valores Y de los dos vectores, los valores Z de los dos vectores y, a continuación, con los valores W. Este operador es útil para ordenar vectores.


bool operator <=(right: Vector4i) 🔗

Compara dos vectores Vector4i comprobando primero si el valor X del vector izquierdo es menor o igual que el valor X del vector right. Si los valores X son exactamente iguales, repite esta comprobación con los valores Y de los dos vectores, los valores Z de los dos vectores y, a continuación, con los valores W. Este operador es útil para ordenar vectores.


bool operator ==(right: Vector4i) 🔗

Devuelve true si los vectores son exactamente iguales.


bool operator >(right: Vector4i) 🔗

Compara dos vectores Vector4i comprobando primero si el valor X del vector izquierdo es mayor que el valor X del vector right. Si los valores X son exactamente iguales, repite esta comprobación con los valores Y de los dos vectores, los valores Z de los dos vectores y, a continuación, con los valores W. Este operador es útil para ordenar vectores.


bool operator >=(right: Vector4i) 🔗

Compara dos vectores Vector4i comprobando primero si el valor X del vector izquierdo es mayor o igual que el valor X del vector right. Si los valores X son exactamente iguales, repite esta comprobación con los valores Y de los dos vectores, los valores Z de los dos vectores y, a continuación, con los valores W. Este operador es útil para ordenar vectores.


int operator [](index: int) 🔗

Accede a los componentes del vector usando su index. v[0] es equivalente a v.x, v[1] es equivalente a v.y, v[2] es equivalente a v.z, y v[3] es equivalente a v.w.


Vector4i operator unary+() 🔗

Devuelve el mismo valor como si el + no estuviera ahí. El + unario no hace nada, pero a veces puede hacer que tu código sea más legible.


Vector4i operator unary-() 🔗

Devuelve el valor negativo del Vector4i. Esto es lo mismo que escribir Vector4i(-v.x, -v.y, -v.z, -v.w). Esta operación invierte la dirección del vector manteniendo la misma magnitud.