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...
PackedInt32Array
Un array compatto di interi a 32 bit.
Descrizione
Un array progettato specificamente per contenere valori interi a 32 bit. Impacchetta i dati in modo compatto, in modo da risparmiare memoria per array di grandi dimensioni.
Nota: Questo tipo memorizza interi a 32 bit con segno, il che significa che può assumere valori nell'intervallo [-2^31, 2^31 - 1], ovvero [-2147483648, 2147483647]. I valori oltre i limiti saranno avvolti. In confronto, int utilizza interi a 64 bit con segno che possono contenere valori molto più grandi. Se è necessario impacchettare interi a 64 bit, vedi PackedInt64Array.
Nota: Gli array impacchettati sono sempre passati per riferimento. Per ottenere una copia di un array che si può modificare indipendentemente dall'array originale, usa duplicate(). Questo non è il caso per le proprietà e per i metodi integrati. In tali casi l'array impacchettato restituito è una copia, e modificarlo non influenzerà il valore originale. Per aggiornare una proprietà integrata di questo tipo è necessario modificare l'array restituito e poi riassegnarlo alla proprietà.
Nota: In un contesto booleano, un array impacchettato sarà valutato come false se è vuoto. Altrimenti, un array impacchettato sarà sempre valutato come true.
Nota
Ci sono differenze sostanziali quando si usa questa API con C#. Vedi Differenze dell'API C# rispetto a GDScript per maggiori informazioni.
Costruttori
PackedInt32Array(from: PackedInt32Array) |
|
PackedInt32Array(from: Array) |
Metodi
void |
append_array(array: PackedInt32Array) |
void |
clear() |
duplicate() const |
|
void |
|
is_empty() const |
|
void |
|
void |
reverse() |
void |
|
size() const |
|
void |
sort() |
to_byte_array() const |
Operatori
operator !=(right: PackedInt32Array) |
|
operator +(right: PackedInt32Array) |
|
operator ==(right: PackedInt32Array) |
|
operator [](index: int) |
Descrizioni dei costruttori
PackedInt32Array PackedInt32Array() 🔗
Costruisce un PackedInt32Array vuoto.
PackedInt32Array PackedInt32Array(from: PackedInt32Array)
Costruisce un PackedInt32Array come copia del PackedInt32Array specificato.
PackedInt32Array PackedInt32Array(from: Array)
Costruisce un nuovo PackedInt32Array. È possibile passare un Array generico che sarà convertito.
Descrizioni dei metodi
Aggiunge un elemento alla fine dell'array (pseudonimo di push_back()).
void append_array(array: PackedInt32Array) 🔗
Accoda un PackedInt32Array alla fine di questo array.
int bsearch(value: int, before: bool = true) const 🔗
Trova l'indice di un valore esistente (o l'indice di inserimento che mantiene l'ordine di ordinamento, se il valore non è ancora presente nell'array) utilizzando la ricerca binaria. Facoltativamente, è possibile passare uno specificatore before. Se false, l'indice restituito viene dopo tutte le voci esistenti del valore nell'array.
Nota: Chiamare bsearch() su un array non ordinato provoca un comportamento imprevisto.
void clear() 🔗
Cancella l'array. Ciò equivale a usare resize() con una dimensione di 0.
Restituisce il numero di volte che un elemento è presente nell'array.
PackedInt32Array duplicate() const 🔗
Crea una copia dell'array, e la restituisce.
Rimuove la prima occorrenza di un valore dall'array e restituisce true. Se il valore non esiste nell'array, nulla accade e viene restituito false. Per rimuovere un elemento in base all'indice, utilizzare invece remove_at().
Assegna il valore specificato a tutti gli elementi nell'array. Questo può solitamente essere usato insieme a resize() per creare un array con una determinata dimensione ed elementi inizializzati.
int find(value: int, from: int = 0) const 🔗
Cerca un valore nell'array e restituisce il suo indice o -1 se non trovato. Facoltativamente, può essere passato l'indice di ricerca iniziale.
Returns the 32-bit integer at the given index in the array. If index is out-of-bounds or negative, this method fails and returns 0.
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.
Restituisce true se l'array contiene value.
int insert(at_index: int, value: int) 🔗
Inserisce un nuovo intero in una posizione specificata nell'array. La posizione deve essere valida o alla fine dell'array (idx == size()).
Restituisce true se l'array è vuoto.
Accoda un valore all'array.
Rimuove un elemento dall'array in base all'indice.
Imposta la dimensione dell'array. Se l'array viene ingrandito, riserva gli elementi alla fine dell'array. Se l'array viene rimpicciolito, tronca l'array alla nuova dimensione. Chiamare resize() una sola volta e assegnare i nuovi valori è più veloce che aggiungere nuovi elementi uno alla volta.
Restituisce @GlobalScope.OK in caso di successo, oppure una delle seguenti costanti di Error se questo metodo fallisce: @GlobalScope.ERR_INVALID_PARAMETER se la dimensione è negativa, oppure @GlobalScope.ERR_OUT_OF_MEMORY se le allocazioni falliscono. Usare size() per trovare la dimensione effettiva dell'array dopo il ridimensionamento.
void reverse() 🔗
Inverte l'ordine degli elementi nell'array.
int rfind(value: int, from: int = -1) const 🔗
Cerca nell'array in ordine inverso. Facoltativamente, può essere passato un indice di ricerca iniziale. Se negativo, l'indice di inizio è considerato relativo alla fine dell'array.
void set(index: int, value: int) 🔗
Modifica l'intero all'indice specificato.
Restituisce il numero di elementi nell'array.
PackedInt32Array slice(begin: int, end: int = 2147483647) const 🔗
Restituisce la sezione del PackedInt32Array, da begin (incluso) a end (escluso), sotto forma di un nuovo PackedInt32Array.
Il valore assoluto di begin e end sarà limitato alla dimensione dell'array, quindi il valore predefinito per end lo suddivide alla dimensione dell'array per impostazione predefinita (ad esempio, arr.slice(1) è un'abbreviazione per arr.slice(1, arr.size())).
Se begin o end sono negativi, saranno relativi alla fine dell'array (ad esempio, arr.slice(0, -2) è un'abbreviazione per arr.slice(0, arr.size() - 2)).
void sort() 🔗
Ordina gli elementi dell'array in ordine crescente.
PackedByteArray to_byte_array() const 🔗
Restituisce una copia dei dati convertiti in un PackedByteArray, dove ogni elemento è stato codificato come 4 byte.
La dimensione del nuovo array sarà int32_array.size() * 4.
Descrizioni degli operatori
bool operator !=(right: PackedInt32Array) 🔗
Restituisce true se i contenuti degli array differiscono.
PackedInt32Array operator +(right: PackedInt32Array) 🔗
Restituisce un nuovo PackedInt32Array con il contenuto di right accodato alla fine di questo array. Per prestazioni migliori, considera invece di usare append_array().
bool operator ==(right: PackedInt32Array) 🔗
Restituisce true se il contenuto di entrambi gli array è lo stesso, ovvero hanno tutti gli interi uguali agli indici corrispondenti.
Restituisce l'int all'indice index. Gli indici negativi possono essere utilizzati per accedere agli elementi partendo dalla fine. Utilizzare un indice fuori dai limiti dell'array genererà un errore.
Tieni presente che il tipo int è a 64 bit, a differenza dei valori memorizzati nell'array.