Nós e cenas
Na Visão geral dos principais conceitos do Godot, nós vimos que um jogo Godot é uma árvore de cenas e que cada cena é uma árvore de nós. Nessa aula, nós vamos explicar um pouco mais sobre eles. Você também vai criar sua primeira cena.
Nós
Nós são um conceito fundamental do seu jogo. Eles são como ingredientes numa receita. Tem um monte de nós que podem mostrar uma imagem, tocar um som, representar uma câmera, e muito mais.
All nodes have the following characteristics:
Um nome.
Propriedades editáveis.
Eles recebem retornos de chamada para atualizar cada quadro.
Podem ser estendidos com novas propriedades e funções.
Podem ser adicionados a outro nó como filho.
The last characteristic is important. Together, nodes form a tree, which is a powerful feature to organize projects. Since different nodes have different functions, combining them produces more complex behavior. As we saw before, you can build a playable character the camera follows using a CharacterBody2D node, a Sprite2D node, a Camera2D node, and a CollisionShape2D node.
Cenas
Quando você organiza nós numa árvore, como nosso personagem, nós chamamos isso de construir uma cena. Uma vez salvo, cenas funcionam como nós no editor, como pode adicioná-las como filho de um nó existente. Nesse caso, a instância da cena aparece como um único nó com os nós internos escondidos.
Cenas permitem que você estruture o código do seu jogo do jeito que quiser. Você pode compor nós para criar nós personalizados e complexos, como um personagem de um jogo que corre e pula, uma barra de vida, um baú que você interage, e mais.
O editor Godot é essencialmente um editor de cena. Possui muitas ferramentas para edição de cenas 2D e 3D, bem como interfaces de usuário. Um projeto Godot pode conter quantas dessas cenas você precisar. A engine requer apenas um nó como a cena principal do seu aplicativo. Esta é a cena que Godot carregará primeiro quando você ou um jogador executar o jogo.
On top of acting like nodes, scenes have the following characteristics:
They always have one root node, like the "Player" in our example.
You can save them to your local drive and load them later.
Você pode criar quantas instâncias de uma cena quiser. Você pode ter cinco ou dez personagens em seu jogo, criados a partir de sua cena "Character".
Criando sua primeira Cena
Let's create our first scene with a single node. To do so, you will need to create a new project first. After opening the project, you should see an empty editor.
In an empty scene, the Scene dock on the left shows several options to add a root node quickly. adds a Node2D node, adds a Node3D node, and adds a Control node. These presets are here for convenience; they are not mandatory. lets you select any node to be the root node. In an empty scene, is equivalent to pressing the button at the top-left of the Scene dock, which usually adds a new node as a child of the currently selected node.
We're going to add a single Label node to our scene. Its function is to draw text on the screen.
Press the button or to create a root node.
The Create New Node dialog opens, showing the long list of available nodes.
Selecione o nó Label. Você pode digitar seu nome para filtrar a lista.
Click on the Label node to select it and click the button at the bottom of the window.
Muito coisa acontece quando você adiciona o primeiro nó da cena. A cena muda pra área de trabalho 2D porque Label é um nó do tipo 2D. A Label aparece, selecionada, no canto superior esquerdo da tela (viewport). O nó aparece no Painel de Cenas à esquerda, e as propriedades do nó aparecem no Painel Inspetor à direita.
Alterando as propriedades de um nó
The next step is to change the Label's Text property. Let's change it to "Hello World".
Head to the Inspector dock on the right of the viewport. Click inside the field below the Text property and type "Hello World".
Você vai ver o texto aparecer na viewport enquanto você digita.
Ver também
You can edit any property listed in the Inspector as we did with the Text. For a complete reference of the Inspector dock, see Inspector Dock.
Você pode mover seu nó Label na viewport selecionando a ferramenta de mover na barra de ferramentas (toolbar).
Com a Label selecionada, clique e arraste para qualquer lugar na viewport para movê-la para o centro da janela delimitada pelo retângulo.
Executando a cena
Everything's ready to run the scene! Press the button in the top-right of the screen or press F6 (Cmd + R on macOS).
A popup invites you to save the scene, which is required to run it. Click the
button in the file browser to save it as label.tscn.
Nota
The Save Scene As dialog, like other file dialogs in the editor, only
allows you to save files inside the project. The res:// path at
the top of the window represents the project's root directory and
stands for "resource path". For more information about file paths in
Godot, see Sistema de arquivos.
A aplicação deve abrir uma nova janela e mostrar o texto "Olá Mundo".
Close the window or press F8 (Cmd + . on macOS) to quit the running scene.
Definindo a cena principal
To run our test scene, we used the button. Another button next to it, , allows you to set and run the project's main scene. You can also press F5 (Cmd + B on macOS) to do so.
Nota
Executar a cena principal do projeto é diferente de executar a cena atual. Se você encontrar um comportamento inesperado, verifique se está executando a cena correta.
Uma janela popup aparecerá, te convidando para selecionar a cena principal.
Click the button, and in the file dialog that appears, double
click on label.tscn.
A demo deve rodar novamente. No futuro, toda vez que rodar seu projeto, Godot vai usar essa cena como um ponto de partida.
Nota
The editor saves the main scene's path in a project.godot file in your project's directory. While you can edit this text file directly to change project settings, you can also use the window to do so. For more information, see Configurações do Projeto.
Na próxima parte, discutiremos outro conceito-chave nos jogos e no Godot: a criação de instâncias de uma cena.