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.

Nodi e Scene

Su Panoramica dei concetti chiave di Godot, abbiamo visto che un gioco su Godot è un albero di scene e che ogni scena è un albero di nodi. In questa lezione, approfondiamo su di loro. Inoltre creerete la vostra prima scena.

Nodi

I nodi sono i blocchi fondamentali del tuo gioco. Sono come ingredienti in una ricetta. Ci sono dozzine di tipi che possono mostrare un’immagine, riprodurre un suono, rappresentare una camera, e molto altro.

../../_images/nodes_and_scenes_nodes.webp

Tutti i nodi hanno le seguenti caratteristiche:

  • Un nome.

  • Proprietà modificabili.

  • Ricevono callback (chiamate alla funzione) per aggiornarsi a ogni frame.

  • È possibile estenderle con nuove proprietà e funzioni.

  • Puoi aggiungerli a un altro nodo come figlio.

L’ultima caratteristica è importante. Insieme, i nodi formano un albero, che è una potente funzionalità per organizzare i progetti. Siccome diversi nodi hanno diverse funzioni, combinarli produce comportamenti più complessi. Come abbiamo visto prima, puoi costruire un personaggio giocabile seguito dalla camera usando un nodo CharacterBody2D, un nodo Sprite2D, un nodo Camera2D e un nodo CollisionShape2D.

../../_images/nodes_and_scenes_character_nodes.webp

Scene

Quando organizzi nodi in un albero, come il nostro personaggio, possiamo chiamare questa formazione una scena. Una volta salvata, la scena si presenta come un nuovo nodo nell’editor, dove possiamo aggiungerlo come figlio di un nodo esistente. In questo caso, l’istanza della scena appare come nodo singolo con interni nascosti.

Le scene di consentono di strutturare il codice del gioco in qualunque modo tu voglia. Puoi comporre nodi per creare nodi personalizzati e complessi, come un personaggio di gioco che si muove e salta, una barra della vita, una cesta con cui puoi interagire, e molto altro.

../../_images/nodes_and_scenes_3d_scene_example.webp

Fondamentalmente, l'editor di Godot è un editor di scene. Contiene molti strumenti per modificare scene 2D e 3D, così come interfacce utente. Un progetto Godot può contenere tutte le scene di cui hai bisogno. Il motore ne necessita solo di una come scena principale della tua applicazione. Questa è la scena che Godot caricherà per prima quando tu o un giocatore avviate il gioco.

Oltre a comportarsi come nodi, le scene hanno i seguenti attributi:

  1. Hanno sempre un nodo radice, come il "Player" nel nostro esempio.

  2. Puoi salvarle sul tuo disco locale e caricarli in seguito.

  3. Puoi creare tutte le istanze di una scena che desideri. Potresti avere cinque o dieci personaggi nel tuo gioco, creati dalla tua scena Character.

Creare la tua prima scena

Creiamo la nostra prima scena con un singolo nodo. Per fare ciò, avrai bisogno di creare un nuovo progetto. Dopo aver aperto il progetto, dovresti vedere un editor vuoto.

../../_images/nodes_and_scenes_01_empty_editor.webp

In una scena vuota, il pannello Scene a sinistra mostra diverse opzioni per aggiungere rapidamente un nodo radice. 2D Scene aggiunge un nodo Node2D, 3D Scene aggiunge un nodo Node3D, User Interface aggiunge un nodo Control. Questi scelte esistono per comodità; non sono obbligatorie. Other Node ti consente di scegliere qualsiasi nodo come nodo radice. In una scena vuota, Other Node equivale al pulsante Add Child Node in alto a sinistra del pannello Scena, che di solito aggiunge un nuovo nodo come figlio del nodo attualmente selezionato.

Aggiungeremo un singolo nodo Label alla nostra scena. La sua funzione è quella di disegnare testo sullo schermo.

Premi il pulsante Add Child Node o Other Node per creare un nodo radice.

../../_images/nodes_and_scenes_02_scene_dock.webp

Si apre la finestra di dialogo Create New Node, che mostra il lungo elenco dei nodi disponibili.

../../_images/nodes_and_scenes_03_create_node_window.webp

Seleziona il nodo Label. Puoi scrivere il suo nome per filtrarlo sulla lista.

../../_images/nodes_and_scenes_04_create_label_window.webp

Clicca sul nodo Label per selezionarlo e clicca il pulsante Create nella parte inferiore della finestra.

../../_images/nodes_and_scenes_05_editor_with_label.webp

Molto accade quando aggiungi il primo nodo di una scena. La scena cambia dallo spazio di lavoro 2D perché Label è un nodo di tipo 2D. La Label appare, selezionata, nell'angolo in alto a sinistra della Viewport. Il nodo appare nel pannello Scene sulla sinistra, e le proprietà del nodo appaiono nel pannello Ispettore sulla destra.

Modifica delle proprietà di un nodo

Il prossimo passaggio consiste nel modificare la proprietà Text del Label. Cambiamola in "Hello World".

Muoviti sul pannello Ispettore sulla destra della viewport. Clicca dentro il campo sotto la proprietà Text e scrivi "Hello World".

../../_images/nodes_and_scenes_06_label_text.webp

Mentre digiti, vedrai il testo che si disegna nella viewport.

Vedi anche

Puoi modificare qualsiasi proprietà elencata nell'Ispettore come abbiamo fatto con Text. Per un riferimento completo del pannello Ispettore, vedi Il pannello Ispettore.

Puoi muovere il tuo nodo Label nella Viewport selezionando lo strumento muovi nella barra degli strumenti.

../../_images/nodes_and_scenes_07_move_tool.webp

Con la Label selezionata, premi e trascina ovunque nella Viewport per muoverla al centro della vista delimitata dal rettangolo.

../../_images/nodes_and_scenes_08_hello_world_text.webp

Esecuzione della scena

Tutto è pronto per eseguire la scena! Premi il pulsante Run Current Scene in alto a destra dello schermo o premi F6 (Cmd + R su macOS).

../../_images/nodes_and_scenes_09_play_scene_button.webp

Un popup ti invita a salvare la scena, il che è necessario per avviarla. Clicca il pulsante Save nel browser di file per salvarla con il nome label.tscn.

../../_images/nodes_and_scenes_10_save_scene_as.webp

Nota

La finestra di dialogo Save Scene As, come le altre finestre di dialogo dei file nell'editor, consente di salvare i file solo all'interno del progetto. Il percorso res:// in cima alla finestra rappresenta la cartella principale del progetto e sta per "resource path" (percorso delle risorse). Per ulteriori informazioni sui percorsi dei file in Godot, consulta File system.

L'applicazione si dovrebbe aprire in una nuova finestra e visualizzare il testo "Hello World".

../../_images/nodes_and_scenes_11_final_result.webp

Chiudi la finestra o premi F8 (Cmd + . su macOS) per uscire dalla scena in esecuzione.

Vedi anche

Consulta Incorporamento del gioco per maggiori informazioni sulla finestra di gioco che appare quando esegui il progetto.

Impostare la scena principale

Per eseguire la nostra scena di prova, abbiamo premuto il pulsante Run Current Scene. Un altro pulsante accanto, Run Project, ti consente di impostare ed eseguire la scena principale del progetto. Per fare ciò puoi anche premere F5 (Cmd + B su macOS).

../../_images/nodes_and_scenes_12_play_button.webp

Nota

Eseguire la scena principale del progetto è diverso dall'eseguire la scena attuale. Se incontri errori inaspettati, verifica che tu stia eseguendo la scena corretta.

Apparirà una finestra popup che ti inviterà a selezionare la scena principale.

../../_images/nodes_and_scenes_13_main_scene_popup.webp

Clicca sul pulsante Select e, nella finestra di dialogo di file che appare, fai doppio clic su label.tscn.

../../_images/nodes_and_scenes_14_select_main_scene.webp

La dimostrazione si dovrebbe eseguita di nuovo. Andando avanti, ogni volta che eseguirai il progetto, Godot utilizzerà questa scena come punto di partenza.

Nota

L'editor salva il percorso della scena principale in un file project.godot nella cartella del progetto. Sebbene sia possibile modificare direttamente questo file di testo per cambiare le impostazioni del progetto, si può anche fare ciò dalla finestra Project > Project Settings. Per maggiori informazioni, consulta Impostazioni del progetto.

Nella prossima parte, discuteremo un altro concetto chiave nei giochi e in Godot: la creazione di istanze di una scena.