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 vecteur 3D utilisant des coordonnées entières.
Description
Une structure de 3 éléments qui peut être utilisée pour représenter des coordonnées de grille 3D ou tout autre triplet d'entiers.
Elle utilise des coordonnées entières et elle est donc préférable à Vector3 quand une précision exacte est nécessaire. Par défaut, ces valeurs sont limitées à 32 bits, et contrairement à Vector3, elle ne peut être configurée avec une option de compilation du moteur. Utilisez int ou PackedInt64Array si des valeurs 64 bits sont nécessaires.
Note : Avec des booléens, un Vector3i sera évalué à false s'il est égal à Vector3i(0, 0, 0,0). Sinon, un Vector3i sera toujours évalué à true.
Tutoriels
Propriétés
|
||
|
||
|
Constructeurs
Vector3i() |
|
Méthodes
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 |
|
Opérateurs
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) |
|
Énumérations
enum Axis: 🔗
Axis AXIS_X = 0
La valeur de l'énumération pour l'axe X. Renvoyé par max_axis_index() et min_axis_index().
Axis AXIS_Y = 1
La valeur de l'énumération pour l'axe Y. Retourné par max_axis_index() et min_axis_index().
Axis AXIS_Z = 2
La valeur de l'énumération pour l'axe Z. Renvoyé par max_axis_index() et min_axis_index().
Constantes
ZERO = Vector3i(0, 0, 0) 🔗
Le vecteur zéro, un vecteur avec tous ses composants définis 0.
ONE = Vector3i(1, 1, 1) 🔗
Le vecteur unitaire, un vecteur avec tous ses composants définis à 1.
MIN = Vector3i(-2147483648, -2147483648, -2147483648) 🔗
Vecteur minimum, un vecteur avec toutes ses composantes égales à INT32_MIN. Peut être utilisé comme un équivalent entier négatif de Vector3.INF.
MAX = Vector3i(2147483647, 2147483647, 2147483647) 🔗
Vecteur maximum, un vecteur avec toutes ses composantes égales à INT32_MAX. Peut être utilisé comme un équivalent entier de Vector3.INF.
LEFT = Vector3i(-1, 0, 0) 🔗
Le vecteur unitaire gauche. Représente la direction locale à gauche, et la direction globale vers l'ouest.
RIGHT = Vector3i(1, 0, 0) 🔗
Le vecteur unitaire vers la droite. Représente la direction locale à droite, et la direction globale vers l'est.
UP = Vector3i(0, 1, 0) 🔗
Vecteur unitaire vers le haut.
DOWN = Vector3i(0, -1, 0) 🔗
Vecteur unitaire vers le bas.
FORWARD = Vector3i(0, 0, -1) 🔗
Vecteur unitaire en avant. Représente la direction locale en avant, et la direction globale vers le nord.
BACK = Vector3i(0, 0, 1) 🔗
Vecteur unitaire vers l'arrière. Représente la direction locale vers l'arrière, et la direction globale vers le sud.
Descriptions des propriétés
La composante vectorielle X. Également accessible en utilisant le code de position index [0].
La composante vectorielle X. Également accessible en utilisant le code de position index [1].
Le composant vectoriel Z. Également accessible en utilisant l'index [2].
Descriptions des constructeurs
Construit un Vector3i initialisé par défaut avec toutes les composantes définies à 0.
Vector3i Vector3i(from: Vector3i)
Construit un Vector3i comme copie du Vector3i donné.
Vector3i Vector3i(from: Vector3)
Construit un nouveau Vector3i depuis le Vector3 donné en tronquant les parties fractionnelles des composantes (arrondissant vers 0). Pour un comportement différent, envisagez de passer le résultat de Vector3.ceil(), Vector3.floor() ou Vector3.round() à ce constructeur à la place.
Vector3i Vector3i(x: int, y: int, z: int)
Renvoie un Vector3i avec les composantes données.
Descriptions des méthodes
Renvoie un nouveau vecteur avec tous ses composantes en valeurs absolues (c'est-à-dire toujours positives).
Vector3i clamp(min: Vector3i, max: Vector3i) const 🔗
Renvoie un nouveau vecteur avec toutes les composantes bornées entre les composantes de min et max, en exécutant @GlobalScope.clamp() sur chaque composante.
Vector3i clampi(min: int, max: int) const 🔗
Renvoie un nouveau vecteur avec toutes les composantes bornées entre min et max, en exécutant @GlobalScope.clamp() sur chaque composante.
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 🔗
Returns the Euclidean distance between this vector and to.
Renvoie la longueur (magnitude) de ce vecteur.
Renvoie la longeur (magnitude) au carré de ce vecteur.
Cette méthode est plus rapide que length() donc préférez-le si vous devez comparer des vecteurs ou avoir besoin de la distance carrée pour certaines formules.
Vector3i max(with: Vector3i) const 🔗
Renvoie le maximum par composante de ceci et with, équivalent à Vector3i(maxi(x, with.x), maxi(y, with.x), maxi(z, with.z)).
Renvoie l'axe de la valeur la plus importante du vecteur. Voir les constantesAXIS_*. Si tous les composants sont égaux, cette méthode renvoie AXIS_X.
Vector3i maxi(with: int) const 🔗
Renvoie le maximum par composante de ceci et with, équivalent à Vector3i(maxi(x, with), maxi(y, with), maxi(z, with)).
Vector3i min(with: Vector3i) const 🔗
Renvoie le minimum par composante de ceci et with, équivalent à Vector3i(mini(x, with.x), mini(y, with.y),mini(z,with.z)).
Renvoie l'axe de la valeur la moins importante du vecteur. Voir les constantesAXIS_*. Si tous les composants sont égaux, cette méthode renvoie AXIS_Z.
Vector3i mini(with: int) const 🔗
Renvoie le minimum par composante de ceci et with, équivalent à Vector3i(mini(x, with), mini(y, with),mini(z,with)).
Renvoie un nouveau vecteur avec chaque composante définie à 1 si elle est positive, -1 si elle est négative, et 0 si elle est nulle. Le résultat est identique à celui d'appeler @GlobalScope.sign() sur chaque composante.
Vector3i snapped(step: Vector3i) const 🔗
Renvoie un nouveau vecteur avec chaque composante arrondie au multiple le plus proche de la composante correspondante dans step.
Vector3i snappedi(step: int) const 🔗
Renvoie un nouveau vecteur avec chaque composante arrondie au multiple le plus proche de step.
Descriptions des opérateurs
bool operator !=(right: Vector3i) 🔗
Renvoie true si les vecteurs ne sont pas égaux.
Vector3i operator %(right: Vector3i) 🔗
Obtient le reste de la division euclidienne de chaque composante du Vector3i par les composantes du Vector3i donné. Cette opération utilise une division tronquée, ce qui n'est souvent pas souhaité car elle ne fonctionne pas bien avec des nombres négatifs. Considérez d'utiliser @GlobalScope.posmod() plutôt si vous voulez gérer les nombres négatifs.
print(Vector3i(10, -20, 30) % Vector3i(7, 8, 9) # Affiche (3, -4, 3)
Vector3i operator %(right: int) 🔗
Obtient le reste de la division euclidienne de chaque composante du Vector3i par l'entier int donné. Cette opération utilise une division tronquée, ce qui n'est souvent pas souhaité car elle ne fonctionne pas bien avec des nombres négatifs. Considérez d'utiliser @GlobalScope.posmod() plutôt si vous voulez gérer les nombres négatifs.
print(Vector3i(10, -20, 30) % 7) # Affiche (3, -6, 2)
Vector3i operator *(right: Vector3i) 🔗
Multiplie chaque composante du Vector3i par les composantes du Vector3i donné.
print(Vector3i(10, 20, 30) * Vector3i(3, 4, 5)) # Affiche (30, 80, 150)
Vector3 operator *(right: float) 🔗
Multiplie chaque composante du Vector3i par le flottant float donné. Renvoie un Vector3.
print(Vector3i(10, 15, 20) * 0.9) # Affiche (9.0, 13.5, 18.0)
Vector3i operator *(right: int) 🔗
Multiplie chaque composante du Vector3i par l'entier int donné.
Vector3i operator +(right: Vector3i) 🔗
Ajoute chaque composante du Vector3i aux composantes du Vector3i donné.
print(Vector3i(10, 20, 30) + Vector3i(3, 4, 5)) # Affiche (13, 24, 35)
Vector3i operator -(right: Vector3i) 🔗
Soustrait chaque composante du Vector3i par les composantes du Vector3i donné.
print(Vector3i(10, 20, 30) - Vector3i(3, 4, 5)) # Affiche (7, 16, 25)
Vector3i operator /(right: Vector3i) 🔗
Divise chaque composante du Vector3i par les composantes du Vector3i donné.
print(Vector3i(10, 20, 30) / Vector3i(2, 5, 3)) # Affiche (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) 🔗
Divise chaque composante du Vector3i par l'entier int donné.
bool operator <(right: Vector3i) 🔗
Compare deux Vector3i en vérifiant en premier si la valeur en X du vecteur de gauche est inférieure à la valeur en X du vecteur right. Si les deux valeurs en X sont exactement égales, alors il répète la vérification sur les valeurs en Y des deux vecteurs, puis sur les valeurs en Z. Cet opérateur est utile pour trier des vecteurs.
bool operator <=(right: Vector3i) 🔗
Compare deux Vector3i en vérifiant en premier si la valeur en X du vecteur de gauche est inférieure ou égale à la valeur en X du vecteur right. Si les deux valeurs en X sont exactement égales, alors il répète la vérification sur les valeurs en Y des deux vecteurs, puis sur les valeurs en Z. Cet opérateur est utile pour trier des vecteurs.
bool operator ==(right: Vector3i) 🔗
Renvoie true si les vecteurs sont égaux.
bool operator >(right: Vector3i) 🔗
Compare deux Vector3i en vérifiant en premier si la valeur en X du vecteur de gauche est supérieure à la valeur en X du vecteur right. Si les deux valeurs en X sont exactement égales, alors il répète la vérification sur les valeurs en Y des deux vecteurs, puis sur les valeurs en Z. Cet opérateur est utile pour trier des vecteurs.
bool operator >=(right: Vector3i) 🔗
Compare deux Vector3i en vérifiant en premier si la valeur en X du vecteur de gauche est supérieure ou égale à la valeur en X du vecteur right. Si les deux valeurs en X sont exactement égales, alors il répète la vérification sur les valeurs en Y des deux vecteurs, puis sur les valeurs en Z. Cet opérateur est utile pour trier des vecteurs.
Accède aux composantes du vecteur par leur index. v[0] est équivalent à v.x, v[1] est équivalent à v.y, et v[2] est équivalent à v.z.
Renvoie la même valeur comme si + n'était pas là. Le + unaire ne fait rien, mais peut parfois rendre votre code plus lisible.
Renvoie la valeur négative du Vector3i. Revient à écrire Vector3i(-v.x, -v.y,-v.z). Cette opération retourne la direction du vecteur tout en gardant la même magnitude.