:github_url: hide .. _class_PackedColorArray: PackedColorArray ================ Un tableau compacté de couleurs :ref:`Color`. .. rst-class:: classref-introduction-group Description ----------- An array specifically designed to hold :ref:`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 :ref:`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 :ref:`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:: Il y a des différences notables dans l'utilisation de cette API en C#. Voir :ref:`doc_c_sharp_differences` pour plus d'informations. .. rst-class:: classref-reftable-group Constructeurs -------------------------- .. table:: :widths: auto +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedColorArray` | :ref:`PackedColorArray`\ (\ ) | +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedColorArray` | :ref:`PackedColorArray`\ (\ from\: :ref:`PackedColorArray`\ ) | +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedColorArray` | :ref:`PackedColorArray`\ (\ from\: :ref:`Array`\ ) | +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Méthodes ---------------- .. table:: :widths: auto +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`append`\ (\ value\: :ref:`Color`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`append_array`\ (\ array\: :ref:`PackedColorArray`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`bsearch`\ (\ value\: :ref:`Color`, before\: :ref:`bool` = true\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear`\ (\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count`\ (\ value\: :ref:`Color`\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedColorArray` | :ref:`duplicate`\ (\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`erase`\ (\ value\: :ref:`Color`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`fill`\ (\ value\: :ref:`Color`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`Color`, from\: :ref:`int` = 0\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`Color`\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`Color`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_empty`\ (\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`push_back`\ (\ value\: :ref:`Color`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_at`\ (\ index\: :ref:`int`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`resize`\ (\ new_size\: :ref:`int`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`reverse`\ (\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rfind`\ (\ value\: :ref:`Color`, from\: :ref:`int` = -1\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set`\ (\ index\: :ref:`int`, value\: :ref:`Color`\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`size`\ (\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedColorArray` | :ref:`slice`\ (\ begin\: :ref:`int`, end\: :ref:`int` = 2147483647\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`sort`\ (\ ) | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedByteArray` | :ref:`to_byte_array`\ (\ ) |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Opérateurs -------------------- .. table:: :widths: auto +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator !=`\ (\ right\: :ref:`PackedColorArray`\ ) | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedColorArray` | :ref:`operator +`\ (\ right\: :ref:`PackedColorArray`\ ) | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`operator ==`\ (\ right\: :ref:`PackedColorArray`\ ) | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`operator []`\ (\ index\: :ref:`int`\ ) | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descriptions des constructeurs ------------------------------------------------------------ .. _class_PackedColorArray_constructor_PackedColorArray: .. rst-class:: classref-constructor :ref:`PackedColorArray` **PackedColorArray**\ (\ ) :ref:`🔗` Construit un **PackedColorArray** vide. .. rst-class:: classref-item-separator ---- .. rst-class:: classref-constructor :ref:`PackedColorArray` **PackedColorArray**\ (\ from\: :ref:`PackedColorArray`\ ) Construit un **PackedColorArray** comme une copie du **PackedColorArray** donné. .. rst-class:: classref-item-separator ---- .. rst-class:: classref-constructor :ref:`PackedColorArray` **PackedColorArray**\ (\ from\: :ref:`Array`\ ) Construit un nouveau **PackedColorArray**. Optionnellement, vous pouvez passer un tableau :ref:`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 :ref:`Array` de valeurs de :ref:`Color`\  : :: var tableau = PackedColorArray([Color(0.1, 0.2, 0.3), Color(0.4, 0.5, 0.6)] .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descriptions des méthodes -------------------------------------------------- .. _class_PackedColorArray_method_append: .. rst-class:: classref-method :ref:`bool` **append**\ (\ value\: :ref:`Color`\ ) :ref:`🔗` Ajoute un élément à la fin du tableau (c'est un raccourci vers :ref:`push_back()`). .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_append_array: .. rst-class:: classref-method |void| **append_array**\ (\ array\: :ref:`PackedColorArray`\ ) :ref:`🔗` Ajoute un **PackedColorArray** à la fin de ce tableau. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_bsearch: .. rst-class:: classref-method :ref:`int` **bsearch**\ (\ value\: :ref:`Color`, before\: :ref:`bool` = true\ ) |const| :ref:`🔗` 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 :ref:`bsearch()` sur un tableau non trié résulte en un comportement inattendu. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_clear: .. rst-class:: classref-method |void| **clear**\ (\ ) :ref:`🔗` Efface le contenu du tableau. C'est équivalent à :ref:`resize()` avec une taille de ``0``. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_count: .. rst-class:: classref-method :ref:`int` **count**\ (\ value\: :ref:`Color`\ ) |const| :ref:`🔗` Renvoie le nombre de fois qu'un élément apparaît dans le tableau. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_duplicate: .. rst-class:: classref-method :ref:`PackedColorArray` **duplicate**\ (\ ) |const| :ref:`🔗` Crée une copie du tableau, et le renvoie. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_erase: .. rst-class:: classref-method :ref:`bool` **erase**\ (\ value\: :ref:`Color`\ ) :ref:`🔗` 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 :ref:`remove_at()` à la place. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_fill: .. rst-class:: classref-method |void| **fill**\ (\ value\: :ref:`Color`\ ) :ref:`🔗` Attribue la valeur donnée à tous les éléments du tableau. Cela peut généralement être utilisé avec :ref:`resize()` pour créer un tableau avec une taille donnée et des éléments initialisés. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_find: .. rst-class:: classref-method :ref:`int` **find**\ (\ value\: :ref:`Color`, from\: :ref:`int` = 0\ ) |const| :ref:`🔗` 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é. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_get: .. rst-class:: classref-method :ref:`Color` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` Returns the :ref:`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. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_has: .. rst-class:: classref-method :ref:`bool` **has**\ (\ value\: :ref:`Color`\ ) |const| :ref:`🔗` Renvoie ``true`` si le tableau contient ``value``. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_insert: .. rst-class:: classref-method :ref:`int` **insert**\ (\ at_index\: :ref:`int`, value\: :ref:`Color`\ ) :ref:`🔗` 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()``). .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_is_empty: .. rst-class:: classref-method :ref:`bool` **is_empty**\ (\ ) |const| :ref:`🔗` Renvoie ``true`` si le tableau est vide. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_push_back: .. rst-class:: classref-method :ref:`bool` **push_back**\ (\ value\: :ref:`Color`\ ) :ref:`🔗` Ajoute une valeur à la fin du tableau. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_remove_at: .. rst-class:: classref-method |void| **remove_at**\ (\ index\: :ref:`int`\ ) :ref:`🔗` Retire l'élément du tableau à l'index donné. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_resize: .. rst-class:: classref-method :ref:`int` **resize**\ (\ new_size\: :ref:`int`\ ) :ref:`🔗` 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 :ref:`resize()` une fois et attribuer les nouvelles valeurs est plus rapide que l'ajout de nouveaux éléments un par un. Renvoie :ref:`@GlobalScope.OK` sur le succès, ou une des constantes :ref:`Error` suivantes si cette méthode échoue : :ref:`@GlobalScope.ERR_INVALID_PARAMETER` si la taille est négative, ou :ref:`@GlobalScope.ERR_OUT_OF_MEMORY` si les allocations échouent. Utilisez :ref:`size()` pour trouver la taille réelle du tableau après le redimensionnement. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_reverse: .. rst-class:: classref-method |void| **reverse**\ (\ ) :ref:`🔗` Inverse l'ordre des éléments du tableau. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_rfind: .. rst-class:: classref-method :ref:`int` **rfind**\ (\ value\: :ref:`Color`, from\: :ref:`int` = -1\ ) |const| :ref:`🔗` 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. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_set: .. rst-class:: classref-method |void| **set**\ (\ index\: :ref:`int`, value\: :ref:`Color`\ ) :ref:`🔗` Change la :ref:`Color` à la position donnée. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_size: .. rst-class:: classref-method :ref:`int` **size**\ (\ ) |const| :ref:`🔗` Renvoie le nombre d'éléments dans le tableau. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_slice: .. rst-class:: classref-method :ref:`PackedColorArray` **slice**\ (\ begin\: :ref:`int`, end\: :ref:`int` = 2147483647\ ) |const| :ref:`🔗` 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)``). .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_sort: .. rst-class:: classref-method |void| **sort**\ (\ ) :ref:`🔗` Tris les éléments du tableau dans l'ordre croissant. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_method_to_byte_array: .. rst-class:: classref-method :ref:`PackedByteArray` **to_byte_array**\ (\ ) |const| :ref:`🔗` Renvoie un :ref:`PackedByteArray` avec chaque couleur encodée en octets. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descriptions des opérateurs ------------------------------------------------------ .. _class_PackedColorArray_operator_neq_PackedColorArray: .. rst-class:: classref-operator :ref:`bool` **operator !=**\ (\ right\: :ref:`PackedColorArray`\ ) :ref:`🔗` Renvoie ``true`` si le contenu des tableaux diffère. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_operator_sum_PackedColorArray: .. rst-class:: classref-operator :ref:`PackedColorArray` **operator +**\ (\ right\: :ref:`PackedColorArray`\ ) :ref:`🔗` Renvoie un nouveau **PackedColorArray** avec le contenu de ``right`` ajouté à la fin de ce tableau. Pour une meilleure performance, envisagez d'utiliser :ref:`append_array()` à la place. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_operator_eq_PackedColorArray: .. rst-class:: classref-operator :ref:`bool` **operator ==**\ (\ right\: :ref:`PackedColorArray`\ ) :ref:`🔗` Renvoie ``true`` si le contenu des deux tableaux est le même, c'est-à-dire qu'ils sont toutes leurs couleurs :ref:`Color` égales aux indices correspondants. .. rst-class:: classref-item-separator ---- .. _class_PackedColorArray_operator_idx_int: .. rst-class:: classref-operator :ref:`Color` **operator []**\ (\ index\: :ref:`int`\ ) :ref:`🔗` Renvoie la :ref:`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. .. |virtual| replace:: :abbr:`virtual (Cette méthode doit typiquement être redéfinie par l'utilisateur pour avoir un effet.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Cette méthode n'a pas d'effets de bord. Elle ne modifie aucune des variables membres de l'instance.)` .. |vararg| replace:: :abbr:`vararg (Cette méthode accepte n'importe quel nombre d'arguments après ceux décris ici.)` .. |constructor| replace:: :abbr:`constructor (Cette méthode est utilisée pour construire un type.)` .. |static| replace:: :abbr:`static (Cette méthode n'a pas besoin d'instance pour être appelée, elle peut donc être directement appelée en utilisant le nom de la classe.)` .. |operator| replace:: :abbr:`operator (Cette méthode décrit un opérateur valide à utiliser avec ce type en tant qu'opérande gauche.)` .. |bitfield| replace:: :abbr:`BitField (Cette valeur est un nombre entier composé d'un masque de bits des options suivantes.)` .. |void| replace:: :abbr:`void (Aucune valeur de retour.)`