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...
PackedColorArray
Un tableau compacté de couleurs Color.
Description
An array specifically designed to hold Color. Packs data tightly, so it saves memory for large array sizes.
Differences between packed arrays, typed arrays, and untyped arrays: Packed arrays are generally faster to iterate on and modify compared to a typed array of the same type (e.g. PackedColorArray versus Array[Color]). Also, packed arrays consume less memory. As a downside, packed arrays are less flexible as they don't offer as many convenience methods such as Array.map(). Typed arrays are in turn faster to iterate on and modify than untyped arrays.
Note: Packed arrays are always passed by reference. To get a copy of an array that can be modified independently of the original array, use duplicate(). This is not the case for built-in properties and methods. In these cases the returned packed array is a copy, and changing it will not affect the original value. To update a built-in property of this type, modify the returned array and then assign it to the property again.
Note: In a boolean context, a packed array will evaluate to false if it's empty. Otherwise, a packed array will always evaluate to true.
Note
Il y a des différences notables dans l'utilisation de cette API en C#. Voir Différences de l'API C# par rapport à GDScript pour plus d'informations.
Constructeurs
PackedColorArray(from: PackedColorArray) |
|
PackedColorArray(from: Array) |
Méthodes
void |
append_array(array: PackedColorArray) |
void |
clear() |
duplicate() const |
|
void |
|
is_empty() const |
|
void |
|
void |
reverse() |
void |
|
size() const |
|
void |
sort() |
to_byte_array() const |
Opérateurs
operator !=(right: PackedColorArray) |
|
operator +(right: PackedColorArray) |
|
operator ==(right: PackedColorArray) |
|
operator [](index: int) |
Descriptions des constructeurs
PackedColorArray PackedColorArray() 🔗
Construit un PackedColorArray vide.
PackedColorArray PackedColorArray(from: PackedColorArray)
Construit un PackedColorArray comme une copie du PackedColorArray donné.
PackedColorArray PackedColorArray(from: Array)
Construit un nouveau PackedColorArray. Optionnellement, vous pouvez passer un tableau Array générique qui sera converti.
Note : Lors de l'initialisation d'un PackedColorArray avec des éléments, il doit être initialisé avec un Array de valeurs de Color :
var tableau = PackedColorArray([Color(0.1, 0.2, 0.3), Color(0.4, 0.5, 0.6)]
Descriptions des méthodes
Ajoute un élément à la fin du tableau (c'est un raccourci vers push_back()).
void append_array(array: PackedColorArray) 🔗
Ajoute un PackedColorArray à la fin de ce tableau.
int bsearch(value: Color, before: bool = true) const 🔗
Cherche l'index d'une valeur existante (ou l'index d'insertion qui maintient l'ordre de tri, si la valeur n'est pas encore présente dans le tableau) en utilisant la recherche binaire. Optionnellement, un spécificateur before peut être passé. Si false, l'index renvoyé vient après toutes les entrées existantes de la valeur dans le tableau.
Note : Appeler bsearch() sur un tableau non trié résulte en un comportement inattendu.
void clear() 🔗
Efface le contenu du tableau. C'est équivalent à resize() avec une taille de 0.
int count(value: Color) const 🔗
Renvoie le nombre de fois qu'un élément apparaît dans le tableau.
PackedColorArray duplicate() const 🔗
Crée une copie du tableau, et le renvoie.
Retire la première occurrence d'une valeur du tableau et renvoie true. Si la valeur n'existe pas dans le tableau, rien ne se passe et false est renvoyé. Pour supprimer un élément par index, utilisez remove_at() à la place.
Attribue la valeur donnée à tous les éléments du tableau. Cela peut généralement être utilisé avec resize() pour créer un tableau avec une taille donnée et des éléments initialisés.
int find(value: Color, from: int = 0) const 🔗
Recherche dans le tableau pour une valeur et renvoie son index ou -1 si elle n'est pas trouvée. Optionnellement, l'index de recherche initial peut être passé.
Returns the Color at the given index in the array. If index is out-of-bounds or negative, this method fails and returns Color(0, 0, 0, 1).
This method is similar (but not identical) to the [] operator. Most notably, when this method fails, it doesn't pause project execution if run from the editor.
bool has(value: Color) const 🔗
Renvoie true si le tableau contient value.
int insert(at_index: int, value: Color) 🔗
Insérer un nouvel élément à une position donnée dans le tableau. La position doit être valide, ou à la fin du tableau (idx == size()).
Renvoie true si le tableau est vide.
bool push_back(value: Color) 🔗
Ajoute une valeur à la fin du tableau.
Retire l'élément du tableau à l'index donné.
Définit la taille du tableau. Si le tableau est agrandi, réserve des éléments à la fin du tableau. Si le tableau est rétrécit, tronque le tableau à la nouvelle taille. Appeler resize() une fois et attribuer les nouvelles valeurs est plus rapide que l'ajout de nouveaux éléments un par un.
Renvoie @GlobalScope.OK sur le succès, ou une des constantes Error suivantes si cette méthode échoue : @GlobalScope.ERR_INVALID_PARAMETER si la taille est négative, ou @GlobalScope.ERR_OUT_OF_MEMORY si les allocations échouent. Utilisez size() pour trouver la taille réelle du tableau après le redimensionnement.
void reverse() 🔗
Inverse l'ordre des éléments du tableau.
int rfind(value: Color, from: int = -1) const 🔗
Cherche le tableau en ordre inverse. Optionnellement, un index de démarrage de recherche peut être passé. Si négatif, l'indice de démarrage est considéré par rapport à la fin du tableau.
void set(index: int, value: Color) 🔗
Change la Color à la position donnée.
Renvoie le nombre d'éléments dans le tableau.
PackedColorArray slice(begin: int, end: int = 2147483647) const 🔗
Renvoie la tranche du PackedColorArray, de begin (inclusive) à end (exclusive), en tant que nouveau PackedColorArray.
La valeur absolue de begin et end sera bornée à la taille du tableau, de sorte que la valeur par défaut pour end le fait trancher à la taille du tableau par défaut (c.a.d. arr.slice(1) est un raccourci pour arr.slice(1, arr.size())).
Si begin ou end sont négatifs, ils seront par rapport à la fin du tableau (c.a.d. arr.slice(0, -2) est un raccourci pour arr.slice(0, arr.size() - 2)).
void sort() 🔗
Tris les éléments du tableau dans l'ordre croissant.
PackedByteArray to_byte_array() const 🔗
Renvoie un PackedByteArray avec chaque couleur encodée en octets.
Descriptions des opérateurs
bool operator !=(right: PackedColorArray) 🔗
Renvoie true si le contenu des tableaux diffère.
PackedColorArray operator +(right: PackedColorArray) 🔗
Renvoie un nouveau PackedColorArray avec le contenu de right ajouté à la fin de ce tableau. Pour une meilleure performance, envisagez d'utiliser append_array() à la place.
bool operator ==(right: PackedColorArray) 🔗
Renvoie true si le contenu des deux tableaux est le même, c'est-à-dire qu'ils sont toutes leurs couleurs Color égales aux indices correspondants.
Color operator [](index: int) 🔗
Renvoie la Color à la position index. Les indices négatifs peuvent être utilisés pour accéder aux éléments à partir de la fin. L'utilisation d'un index hors des limites du tableau entraînera une erreur.