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.

PackedFloat32Array

Un array compatto di valori in virgola mobile a 32 bit.

Descrizione

An array specifically designed to hold 32-bit floating-point values (float). Packs data tightly, so it saves memory for large array sizes.

If you need to pack 64-bit floats tightly, see PackedFloat64Array.

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.

Nota

Ci sono differenze sostanziali quando si usa questa API con C#. Vedi Differenze dell'API C# rispetto a GDScript per maggiori informazioni.

Costruttori

PackedFloat32Array

PackedFloat32Array()

PackedFloat32Array

PackedFloat32Array(from: PackedFloat32Array)

PackedFloat32Array

PackedFloat32Array(from: Array)

Metodi

bool

append(value: float)

void

append_array(array: PackedFloat32Array)

int

bsearch(value: float, before: bool = true) const

void

clear()

int

count(value: float) const

PackedFloat32Array

duplicate() const

bool

erase(value: float)

void

fill(value: float)

int

find(value: float, from: int = 0) const

float

get(index: int) const

bool

has(value: float) const

int

insert(at_index: int, value: float)

bool

is_empty() const

bool

push_back(value: float)

void

remove_at(index: int)

int

resize(new_size: int)

void

reverse()

int

rfind(value: float, from: int = -1) const

void

set(index: int, value: float)

int

size() const

PackedFloat32Array

slice(begin: int, end: int = 2147483647) const

void

sort()

PackedByteArray

to_byte_array() const

Operatori

bool

operator !=(right: PackedFloat32Array)

PackedFloat32Array

operator +(right: PackedFloat32Array)

bool

operator ==(right: PackedFloat32Array)

float

operator [](index: int)


Descrizioni dei costruttori

PackedFloat32Array PackedFloat32Array() 🔗

Costruisce un PackedFloat32Array vuoto.


PackedFloat32Array PackedFloat32Array(from: PackedFloat32Array)

Costruisce un PackedFloat32Array come copia del PackedFloat32Array specificato.


PackedFloat32Array PackedFloat32Array(from: Array)

Costruisce un nuovo PackedFloat32Array. È possibile passare un Array generico che sarà convertito.


Descrizioni dei metodi

bool append(value: float) 🔗

Aggiunge un elemento alla fine dell'array (pseudonimo di push_back()).


void append_array(array: PackedFloat32Array) 🔗

Accoda un PackedFloat32Array alla fine di questo array.


int bsearch(value: float, 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.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


void clear() 🔗

Cancella l'array. Ciò equivale a usare resize() con una dimensione di 0.


int count(value: float) const 🔗

Restituisce il numero di volte in cui un elemento è presente nell'array.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


PackedFloat32Array duplicate() const 🔗

Crea una copia dell'array, e la restituisce.


bool erase(value: float) 🔗

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().

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


void fill(value: float) 🔗

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: float, from: int = 0) const 🔗

Cerca un valore nell'array e restituisce il suo indice o -1 se non lo trova. Facoltativamente, può essere passato l'indice iniziale della ricerca.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


float get(index: int) const 🔗

Returns the 32-bit float at the given index in the array. If index is out-of-bounds or negative, this method fails and returns 0.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.


bool has(value: float) const 🔗

Restituisce true se l'array contiene value.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


int insert(at_index: int, value: float) 🔗

Inserisce un nuovo elemento in una determinata posizione nell'array. La posizione deve essere valida o alla fine dell'array (idx == size()).


bool is_empty() const 🔗

Restituisce true se l'array è vuoto.


bool push_back(value: float) 🔗

Appende un elemento alla fine dell'array.


void remove_at(index: int) 🔗

Rimuove un elemento dall'array in base all'indice.


int resize(new_size: int) 🔗

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: float, from: int = -1) const 🔗

Cerca nell'array in ordine inverso. Facoltativamente, può essere passato un indice iniziale di ricerca. Se negativo, l'indice iniziale è considerato relativo alla fine dell'array.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


void set(index: int, value: float) 🔗

Modifica il float all'indice specificato.


int size() const 🔗

Restituisce il numero di elementi nell'array.


PackedFloat32Array slice(begin: int, end: int = 2147483647) const 🔗

Restituisce la sezione del PackedFloat32Array, da begin (incluso) a end (escluso), sotto forma di un nuovo PackedFloat32Array.

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.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo metodo potrebbero non essere accurati se vengono inclusi i NaN.


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à float32_array.size() * 4.


Descrizioni degli operatori

bool operator !=(right: PackedFloat32Array) 🔗

Restituisce true se i contenuti degli array differiscono.


PackedFloat32Array operator +(right: PackedFloat32Array) 🔗

Restituisce un nuovo PackedFloat32Array con il contenuto di right accodato alla fine di questo array. Per prestazioni migliori, considera invece di usare append_array().


bool operator ==(right: PackedFloat32Array) 🔗

Restituisce true se il contenuto di entrambi gli array è lo stesso, ovvero hanno tutti i float uguali agli indici corrispondenti.


float operator [](index: int) 🔗

Restituisce il float 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 float è a 64 bit, a differenza dei valori memorizzati nell'array.