Manuals
Manuals




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

Nodi modello GUI

I nodi modello GUI (GUI template) offrono un potente meccanismo per creare componenti GUI riutilizzabili basati su modelli condivisi o “prefab”. Questo manuale spiega la funzionalità e come utilizzarla.

Un modello GUI è una scena GUI che viene istanziata, nodo per nodo, in un’altra scena GUI. È poi possibile sovrascrivere qualsiasi valore delle proprietà dei nodi del modello originale.

Creazione di un modello

Un modello GUI è una normale scena GUI, quindi si crea come qualsiasi altra scena GUI. Fai clic con il pulsante destro su una posizione nel pannello Assets e seleziona New... ▸ Gui.

Creazione di un modello

Crea il modello e salvalo. Tieni presente che i nodi dell’istanza saranno posizionati rispetto all’origine, quindi è consigliabile creare il modello nella posizione 0, 0, 0.

Creazione di istanze da un modello

Puoi creare un numero qualsiasi di istanze basate sul modello. Crea o apri la scena GUI in cui vuoi collocare il modello, poi fai clic con il pulsante destro sulla sezione Nodes della vista Outline e seleziona Add ▸ Template.

Creazione di un'istanza

Imposta la proprietà Template sul file della scena GUI del modello.

Puoi aggiungere un numero qualsiasi di istanze del modello e, per ogni istanza, puoi sovrascrivere le proprietà di ciascun nodo, modificandone la posizione, il colore, le dimensioni, la texture e così via.

Istanze

Ogni proprietà che modifichi viene evidenziata in blu nell’editor. Premi il pulsante di ripristino accanto alla proprietà per riportarla al valore del modello:

Proprietà

Anche tutti i nodi con proprietà sovrascritte sono evidenziati in blu nella vista Outline:

Vista della struttura

L’istanza del modello viene elencata come voce comprimibile nella vista Outline. Tuttavia, tieni presente che questa voce nella vista della struttura non è un nodo. L’istanza del modello non esiste nemmeno durante l’esecuzione, mentre esistono tutti i nodi che ne fanno parte.

I nodi che fanno parte di un’istanza del modello vengono denominati automaticamente anteponendo un prefisso e una barra ("/") al loro Id. Il prefisso è l’Id impostato nell’istanza del modello.

Modifica dei modelli a runtime

Gli script che modificano o interrogano i nodi aggiunti tramite il meccanismo dei modelli devono soltanto tenere conto dei nomi dei nodi dell’istanza e includere l’Id dell’istanza del modello come prefisso del nome del nodo:

if gui.pick_node(gui.get_node("button_1/button"), x, y) then
    -- Do something...
end

Non esiste un nodo che corrisponda all’istanza del modello stessa. Se ti serve un nodo radice per un’istanza, aggiungilo al modello.

Se uno script è associato alla scena GUI di un modello, lo script non fa parte dell’albero dei nodi dell’istanza. Puoi associare un solo script a ciascuna scena GUI, quindi la logica dello script deve risiedere nella scena GUI in cui hai istanziato i modelli.