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 vecteur 2D utilisant des coordonnées entières.
Description
Une structure de 2 éléments qui peut être utilisée pour représenter les coordonnées d'une grille 2D ou toute autre paire d'entiers.
Il utilise des coordonnées entières et est donc préférable à Vector2 lorsque la précision exacte est requise. Notez que les valeurs sont limitées à 32 bits, et contrairement à Vector2 cela ne peut pas être configuré avec une option de compilation du moteur. Utilisez int ou PackedInt64Array si des valeurs 64 bits sont nécessaires.
Note : Dans un contexte booléen, un Vector2i évaluera false si elle est égale à Vector2i(0, 0). Sinon, un Vector2i évaluera toujours true.
Tutoriels
Propriétés
|
||
|
Constructeurs
Vector2i() |
|
Méthodes
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 |
|
Opérateurs
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) |
|
É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().
Constantes
ZERO = Vector2i(0, 0) 🔗
Le vecteur zéro, un vecteur avec tous ses composants définis 0.
ONE = Vector2i(1, 1) 🔗
Le vecteur unitaire, un vecteur avec tous ses composants définis à 1.
MIN = Vector2i(-2147483648, -2147483648) 🔗
Vecteur minimum, un vecteur avec toutes ses composantes égales à INT32_MIN. Peut être utilisé comme un équivalent entier négatif de Vector2.INF.
MAX = Vector2i(2147483647, 2147483647) 🔗
Vecteur maximum, un vecteur avec toutes ses composantes égales à INT32_MAX. Peut être utilisé comme un équivalent entier de Vector2.INF.
LEFT = Vector2i(-1, 0) 🔗
Le vecteur unitaire gauche. Représente la direction vers la gauche.
RIGHT = Vector2i(1, 0) 🔗
Le vecteur unitaire droit. Représente la direction vers la droite.
UP = Vector2i(0, -1) 🔗
Le vecteur unitaire vers le haut. Y représente le bas en 2D, donc ce vecteur pointe vers -Y.
DOWN = Vector2i(0, 1) 🔗
Le vecteur unitaire vers le bas. Y représente le bas en 2D, donc ce vecteur pointe vers +Y.
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].
Descriptions des constructeurs
Construit un Vector2i initialisé par défaut avec toutes les composantes définies à 0.
Vector2i Vector2i(from: Vector2i)
Construit un Vector2i comme copie du Vector2i donné.
Vector2i Vector2i(from: Vector2)
Construit un nouveau Vector2i depuis le Vector2 donné en tronquant les parties fractionnelles des composantes (arrondissant vers 0). Pour un comportement différent, envisagez de passer le résultat de Vector2.ceil(), Vector2.floor() ou Vector2.round() à ce constructeur à la place.
Vector2i Vector2i(x: int, y: int)
Construit un nouveau Vector2i depuis les x et y donnés.
Descriptions des méthodes
Renvoie un nouveau vecteur avec tous ses composantes en valeurs absolues (c'est-à-dire toujours positives).
Renvoie le ratio d'aspect de ce vecteur, soit x divisé par y.
Vector2i clamp(min: Vector2i, max: Vector2i) 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.
Vector2i 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: Vector2i) 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: Vector2i) 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.
Vector2i max(with: Vector2i) const 🔗
Renvoie le maximum par composante de ceci et with, équivalent à Vector2i(maxf(x, with.x), maxf(y, with.y)).
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.
Vector2i maxi(with: int) const 🔗
Renvoie le maximum par composante de ceci et with, équivalent à Vector2i(maxf(x, with), maxf(y, with)).
Vector2i min(with: Vector2i) const 🔗
Renvoie le minimum par composante de ceci et with, équivalent à Vector2i(minf(x, with.x), minf(y, with.y)).
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_Y.
Vector2i mini(with: int) const 🔗
Renvoie le minimum par composante de ceci et with, équivalent à Vector2i(minf(x, with), minf(y, 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.
Vector2i snapped(step: Vector2i) const 🔗
Renvoie un nouveau vecteur avec chaque composante arrondie au multiple le plus proche de la composante correspondante dans step.
Vector2i 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: Vector2i) 🔗
Renvoie true si les vecteurs ne sont pas égaux.
Vector2i operator %(right: Vector2i) 🔗
Obtient le reste de la division euclidienne de chaque composante du Vector2i par les composantes du Vector2i donné. Cette opération utilise une division tronquée, qui n'est souvent pas souhaité car elle ne fonctionne pas bien avec des nombres négatifs. Considérez utiliser @GlobalScope.posmod() plutôt si vous voulez gérer les nombres négatifs.
print(Vector2i(10, -20) % Vector2i(7, 8) # Affiche (3, -4)
Vector2i operator %(right: int) 🔗
Obtient le reste de la division euclidienne de chaque composante du Vector2i par l'entier int donné. Cette opération utilise une division tronquée, qui n'est souvent pas souhaité car elle ne fonctionne pas bien avec des nombres négatifs. Considérez utiliser @GlobalScope.posmod() plutôt si vous voulez gérer les nombres négatifs.
print(Vector2i(10, -20) % 7) # Affiche (3, -6)
Vector2i operator *(right: Vector2i) 🔗
Multiple chaque composante du Vector2i par les composantes du Vector2i donné.
print(Vector2i(10, 20) * Vector2i(3, 4)) # Affiche (30, 80)
Vector2 operator *(right: float) 🔗
Multiple chaque composante du Vector2i par le flottant float donné. Renvoie un Vector2
print(Vector2i(10, 15) * 0.9) # Affiche (9.0, 13.5)
Vector2i operator *(right: int) 🔗
Multiple chaque composante du Vector2i par l'entier int donné.
Vector2i operator +(right: Vector2i) 🔗
Ajoute chaque composante du Vector2i aux composantes du Vector2i donné.
print(Vector2i(10, 20) + Vector2i(3, 4)) # Affiche (13, 24)
Vector2i operator -(right: Vector2i) 🔗
Soustrait chaque composante du Vector2i par les composantes du Vector2i donné.
print(Vector2i(10, 20) - Vector2i(3, 4)) # Affiche (7, 16)
Vector2i operator /(right: Vector2i) 🔗
Divise chaque composante du Vector2i par les composantes du Vector2i donné.
print(Vector2i(10, 20) / Vector2i(2, 5)) # Affiche (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) 🔗
Divise chaque composante du Vector2i par l'entier int donné.
bool operator <(right: Vector2i) 🔗
Compare deux Vector2i 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. Cet opérateur est utile pour trier des vecteurs.
bool operator <=(right: Vector2i) 🔗
Compare deux Vector2i 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. Cet opérateur est utile pour trier des vecteurs.
bool operator ==(right: Vector2i) 🔗
Renvoie true si les vecteurs sont égaux.
bool operator >(right: Vector2i) 🔗
Compare deux Vector2i 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. Cet opérateur est utilise pour trier des vecteurs.
bool operator >=(right: Vector2i) 🔗
Compare deux Vector2i 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. Cet opérateur est utile pour trier des vecteurs.
Accède aux composantes du vecteur par leur index. v[0] est équivalent à v.x et v[1] est équivalent à v.y.
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 Vector2i. Revient à écrire Vector2i(-v.x, -v.y). Cette opération retourne la direction du vecteur tout en gardant la même magnitude.