Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

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.

../../_images/nodes_and_scenes_nodes.webp

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.

../../_images/nodes_and_scenes_character_nodes.webp

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.

../../_images/nodes_and_scenes_3d_scene_example.png

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:

  1. Elas sempre tem um nó raiz, como o "Character" no nosso exemplo.

  2. You can save them to your local drive and load them later.

  3. 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.

../../_images/nodes_and_scenes_01_empty_editor.webp

In an empty scene, the Scene dock on the left shows several options to add a root node quickly. "2D Scene" adds a Node2D node, "3D Scene" adds a Node3D node, and "User Interface" adds a Control node. These presets are here for convenience; they are not mandatory. "Other Node" lets you select any node to be the root node. In an empty scene, "Other Node" is equivalent to pressing the "Add Child Node" 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.

Clique no botão "Adicionar Nó Filho" ou "Outro Nó" para criar um nó raiz.

../../_images/nodes_and_scenes_02_scene_dock.webp

A caixa de diálogo Criar Novo Nó é aberta, mostrando a longa lista de nós disponíveis.

../../_images/nodes_and_scenes_03_create_node_window.webp

Selecione o nó Label. Você pode digitar seu nome para filtrar a lista.

../../_images/nodes_and_scenes_04_create_label_window.webp

Clique no nó Label para selecioná-lo e clique no botão Criar na parte inferior da janela.

../../_images/nodes_and_scenes_05_editor_with_label.webp

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ó

O próximo passo é mudar a propriedade "Text" do Label. Vamos alterá-la para "Olá, mundo!".

Vá para o painel Inspetor à direita da viewport. Clique dentro do campo abaixo da propriedade de Texto e digite "Olá Mundo".

../../_images/nodes_and_scenes_06_label_text.webp

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 The Inspector.

Você pode mover seu nó Label na viewport selecionando a ferramenta de mover na barra de ferramentas (toolbar).

../../_images/nodes_and_scenes_07_move_tool.webp

Com a Label selecionada, clique e arraste para qualquer lugar na viewport para movê-la para o centro da janela delimitada pelo retângulo.

../../_images/nodes_and_scenes_08_hello_world_text.webp

Executando a cena

Está tudo pronto para rodar a cena! Clique no botão "Rodar Cena Atual" no canto direito superior da tela ou aperte a tecla F6 (Cmd + R no macOS).

../../_images/nodes_and_scenes_09_play_scene_button.webp

A popup invites you to save the scene, which is required to run it. Click the Save button in the file browser to save it as label.tscn.

../../_images/nodes_and_scenes_10_save_scene_as.webp

Nota

O diálogo de Salvar Cena, como outros diálogos de arquivos no editor, só deixam você salvar arquivos dentro do projeto. O res:// no topo da janela representa o diretório raiz do projeto e significa "Caminho dos Recursos". Para mais informações sobre o caminho dos arquivos no Godot, veja Sistema de arquivos.

A aplicação deve abrir uma nova janela e mostrar o texto "Olá Mundo".

../../_images/nodes_and_scenes_11_final_result.webp

Close the window or press F8 (Cmd + . on macOS) to quit the running scene.

Definindo a cena principal

Para rodar nossa cena de teste, nós usamos o botão Rodar Cena Atual. Outro botão próximo à ele permite que você defina e execute a cena principal do projeto. Você pode apertar:kbd:F5 (Cmd + B no macOS) para fazer isso.

../../_images/nodes_and_scenes_12_play_button.webp

Uma janela popup aparecerá, te convidando para selecionar a cena principal.

../../_images/nodes_and_scenes_13_main_scene_popup.webp

Click the Select button, and in the file dialog that appears, double click on label.tscn.

../../_images/nodes_and_scenes_14_select_main_scene.webp

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 "Project -> Project Settings" 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.