This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold espone proprietà per oggetti di gioco (game object), componenti e nodi GUI che puoi leggere, impostare e animare. Esistono i seguenti tipi di proprietà:
Le proprietà numeriche mostrano una maniglia di trascinamento quando passi il puntatore sul loro campo di immissione. Puoi aumentare o diminuire il valore trascinando la maniglia rispettivamente verso destra o sinistra, oppure verso l’alto o il basso.
A seconda di dove si trova una proprietà, puoi accedervi tramite una funzione generica o una funzione specifica per quella proprietà. Molte proprietà possono essere animate automaticamente. È fortemente consigliato animare le proprietà tramite il sistema integrato anziché modificarle direttamente (all’interno di una funzione update()), sia per le prestazioni sia per la praticità.
Le proprietà composte di tipo vector3, vector4 o quaternion espongono anche le proprie componenti (x, y, z e w). Puoi accedere alle componenti singolarmente aggiungendo al nome della proprietà un punto (.) e il nome della componente. Per esempio, per impostare la componente x della posizione di un oggetto di gioco:
-- Set the x position of "game_object" to 10.
go.set("game_object", "position.x", 10)
Le funzioni go.get(), go.set() e go.animate() accettano un riferimento come primo parametro e un identificatore di proprietà come secondo. Il riferimento identifica l’oggetto di gioco o il componente e può essere una stringa, un hash o un URL. Gli URL sono spiegati in dettaglio nel manuale sull’indirizzamento. L’identificatore della proprietà è una stringa o un hash che ne specifica il nome:
-- Set the x-scale of the sprite component
local url = msg.url("#sprite")
local prop = hash("scale.x")
go.set(url, prop, 2.0)
Per i nodi GUI, il nodo viene passato come primo parametro a una funzione specifica per la proprietà oppure alle funzioni generiche gui.get() e gui.set():
-- Get the color of the button
local node = gui.get_node("button")
local color = gui.get_color(node)
local same_color = gui.get(node, "color")
gui.set(node, "color.x", 1)
Tutti gli oggetti di gioco e alcuni tipi di componenti hanno proprietà che puoi leggere e modificare durante l’esecuzione. Leggi questi valori con go.get() e scrivili con go.set(). A seconda del tipo di valore della proprietà, puoi animarne i valori con go.animate(). Un piccolo gruppo di proprietà è di sola lettura.
getgo.get().get+setgo.get() e scriverla con go.set(). Puoi animare i valori numerici con go.animate().PROPRIETÀ DEGLI OGGETTI DI GIOCO
| proprietà | descrizione | tipo | |
|---|---|---|---|
| position | La posizione locale dell’oggetto di gioco. | vector3 |
get+set |
| rotation | La rotazione locale dell’oggetto di gioco, espressa come quaternion. |
quaternion |
get+set |
| euler | La rotazione locale dell’oggetto di gioco, espressa in angoli di Eulero. | vector3 |
get+set |
| scale | La scala locale non uniforme dell’oggetto di gioco, espressa come un vettore in cui ogni componente contiene un moltiplicatore lungo il rispettivo asse. Per raddoppiare le dimensioni lungo X e Y senza modificare Z, usa vmath.vector3(2.0, 2.0, 1.0). |
vector3 |
get+set |
| scale.xy | La scala locale non uniforme dell’oggetto di gioco lungo gli assi X e Y. Usa questa proprietà o go.set_scale_xy() quando non vuoi modificare la scala lungo Z. |
vector3 |
get+set |
Esistono anche funzioni specifiche per lavorare con la trasformazione dell’oggetto di gioco: go.get_position(), go.set_position(), go.get_rotation(), go.set_rotation(), go.get_scale(), go.set_scale() e go.set_scale_xy().
PROPRIETÀ DEL COMPONENTE SPRITE
| proprietà | descrizione | tipo | |
|---|---|---|---|
| size | Le dimensioni dello sprite prima dell’applicazione della scala, così come sono definite nell’atlas di origine. | vector3 |
get |
| image | L’hash del percorso della texture dello sprite. | hash |
get |
| scale | La scala non uniforme dello sprite. | vector3 |
get+set |
| scale.xy | La scala non uniforme dello sprite lungo gli assi X e Y. | vector3 |
get+set |
| material | Il materiale usato dallo sprite. | hash |
get+set |
| cursor | La posizione (tra 0–1) del cursore di riproduzione. | number |
get+set |
| playback_rate | La frequenza dei fotogrammi dell’animazione flipbook. | number |
get+set |
PROPRIETÀ DEL COMPONENTE OGGETTO DI COLLISIONE
| proprietà | descrizione | tipo | |
|---|---|---|---|
| mass | La massa dell’oggetto di collisione. | number |
get |
| linear_velocity | La velocità lineare attuale dell’oggetto di collisione. | vector3 |
get |
| angular_velocity | La velocità angolare attuale dell’oggetto di collisione. | vector3 |
get |
| linear_damping | Lo smorzamento lineare dell’oggetto di collisione. | vector3 |
get+set |
| angular_damping | Lo smorzamento angolare dell’oggetto di collisione. | vector3 |
get+set |
PROPRIETÀ DEL COMPONENTE MODELLO (3D)
| proprietà | descrizione | tipo | |
|---|---|---|---|
| animation | L’animazione attuale. | hash |
get |
| texture0–texture15 | Gli hash dei percorsi delle texture del modello. | hash |
get+set |
| cursor | La posizione (tra 0–1) del cursore di riproduzione. | number |
get+set |
| playback_rate | La velocità di riproduzione dell’animazione. Un moltiplicatore della velocità di riproduzione dell’animazione. | number |
get+set |
| material | Il materiale usato dal modello. | hash |
get+set |
PROPRIETÀ DEL COMPONENTE ETICHETTA (LABEL)
| proprietà | descrizione | tipo | |
|---|---|---|---|
| scale | La scala dell’etichetta. | vector3 |
get+set |
| scale.xy | La scala dell’etichetta lungo gli assi X e Y. | vector3 |
get+set |
| color | Il colore dell’etichetta. | vector4 |
get+set |
| outline | Il colore del contorno dell’etichetta. | vector4 |
get+set |
| shadow | Il colore dell’ombra dell’etichetta. | vector4 |
get+set |
| size | Le dimensioni dell’etichetta. Le dimensioni limitano il testo se il ritorno a capo è abilitato. | vector3 |
get+set |
| material | Il materiale usato dall’etichetta. | hash |
get+set |
| font | Il font usato dall’etichetta. | hash |
get+set |
I nodi GUI hanno funzioni di lettura e scrittura specifiche per ciascuna proprietà, come gui.get_position() e gui.set_position(). In alternativa, puoi leggere e scrivere le proprietà integrate elencate di seguito con gui.get(node, property) e gui.set(node, property, value). Altri valori dei nodi possono comunque richiedere le rispettive funzioni dedicate. Anche le costanti dei materiali sui nodi GUI usano le funzioni generiche. Per accedere a una componente di una proprietà vettoriale, aggiungine il nome, per esempio gui.set(node, "color.x", 1).
Le funzioni generiche e quelle specifiche per le proprietà non usano sempre gli stessi tipi di valore. gui.get() restituisce un vector4 per le proprietà complete position, scale, size ed euler, mentre le funzioni specifiche corrispondenti restituiscono un vector3. gui.set() accetta sia un vector3 sia un vector4 per queste proprietà. La proprietà generica rotation usa un quaternione; usa euler per impostare la rotazione in gradi.
position (o gui.PROP_POSITION)rotation (o gui.PROP_ROTATION)euler (o gui.PROP_EULER)scale (o gui.PROP_SCALE)color (o gui.PROP_COLOR)outline (o gui.PROP_OUTLINE)shadow (o gui.PROP_SHADOW)size (o gui.PROP_SIZE)fill_angle (o gui.PROP_FILL_ANGLE)inner_radius (o gui.PROP_INNER_RADIUS)leading (o gui.PROP_LEADING)tracking (o gui.PROP_TRACKING)slice9 (o gui.PROP_SLICE9)Tutti i valori dei colori sono codificati in un vector4 le cui componenti corrispondono ai valori RGBA:
xyzwPROPRIETÀ DEI NODI GUI
| proprietà | descrizione | tipo | |
|---|---|---|---|
| color | Il colore della superficie del nodo. | vector4 |
gui.get_color() gui.set_color() |
| outline | Il colore del contorno del nodo. | vector4 |
gui.get_outline() gui.set_outline() |
| position | La posizione del nodo. | vector3 |
gui.get_position() gui.set_position() |
| rotation | La rotazione del nodo. La funzione di lettura restituisce un quaternione; quella di scrittura accetta un quaternione o angoli di Eulero sotto forma di vettore. | quaternion, vector3 o vector4 |
gui.get_rotation() gui.set_rotation() |
| euler | La rotazione del nodo espressa come angoli di Eulero in gradi. | vector3 |
gui.get_euler() gui.set_euler() |
| scale | La scala del nodo espressa come un moltiplicatore lungo ciascun asse. | vector3 |
gui.get_scale() gui.set_scale() |
| shadow | Il colore dell’ombra del nodo. | vector4 |
gui.get_shadow() gui.set_shadow() |
| size | Le dimensioni del nodo prima dell’applicazione della scala. | vector3 |
gui.get_size() gui.set_size() |
| fill_angle | L’angolo di riempimento di un nodo a torta (pie), espresso in gradi in senso antiorario. | number |
gui.get_fill_angle() gui.set_fill_angle() |
| inner_radius | Il raggio interno di un nodo a torta. | number |
gui.get_inner_radius() gui.set_inner_radius() |
| leading | Il fattore di scala dell’interlinea di un nodo di testo. | number |
gui.get_leading() gui.set_leading() |
| tracking | Il fattore di scala della spaziatura tra le lettere di un nodo di testo. | number |
gui.get_tracking() gui.set_tracking() |
| slice9 | Le distanze dei bordi di un nodo slice9. | vector4 |
gui.get_slice9() gui.set_slice9() |