Módulo 8 · Aula 8.1 · Conhecendo o Godot: projeto, cenas e nós
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐ | Godot 4.7 | C1, C2 |
Objetivos de aprendizagem
- Abrir o Godot sem instalar, criar um projeto e escolher o renderizador Compatibilidade.
- Reconhecer os painéis do editor: Cena, Arquivos, Inspetor, Sinais, a área de trabalho e o painel Saída.
- Entender que um jogo no Godot é uma árvore de nós e que uma cena é um pedaço dessa árvore salvo num arquivo
.tscn. - Executar o projeto e a cena atual.
Pré-requisitos
Módulo 3 (cenas e objetos no GDevelop).
Materiais
Computador com o Godot 4.7 (pasta com Godot_v4.7.2-stable_win64.exe, ver FERRAMENTAS.md); a pasta projetos/sementes-godot/ deste módulo.
Conceitos
Sem instalador. O Godot é um arquivo .exe que se descompacta e abre. Não precisa de conta nem de internet para usar.
Gerenciador de Projetos. É a primeira janela. Nela se cria um projeto (Criar Novo Projeto: Nome do Projeto:, Caminho do Projeto:, Renderizador:) ou se abre um que já existe (Importar Projeto Existente, apontando a pasta que tem o arquivo project.godot).
Renderizador. O curso usa Compatibilidade: funciona em computadores mais simples e é o que exporta para a web. As outras opções (Avançado+ e Mobile) são para gráficos mais pesados.
Nó. Peça básica do Godot. Cada nó faz uma coisa: Sprite2D mostra uma imagem, Label mostra texto, Timer conta tempo, AudioStreamPlayer toca som, CharacterBody2D é um corpo que anda e bate nas coisas.
Árvore e cena. Nós ficam uns dentro dos outros, formando uma árvore. No GDevelop, a cena tinha uma lista de objetos; no Godot, até o jogador é uma cena pequena (Jogador com Desenho e Colisão) que é colocada dentro da cena do jogo. Cena dentro de cena.
| GDevelop (Módulo 3) | Godot |
|---|---|
| cena | cena (arquivo .tscn) com um nó raiz |
| objeto | nó, ou uma cena pequena |
| comportamento | tipo do nó (CharacterBody2D, Area2D) e script |
| folha de eventos | script em GDScript (arquivo .gd) |
| Visualizar | Executar Projeto / Executar Cena Atual |
res://. É a pasta do projeto. res://imagens/semente.png é a imagem semente.png dentro da pasta imagens do projeto.
Exemplos
A cena jogo.tscn do Sementes:
Jogo (Node2D) ← raiz da cena, com o script jogo.gd
├── Fundo (Sprite2D)
├── Jogador ← outra cena (jogador.tscn) colocada aqui
├── Redemoinho ← outra cena (redemoinho.tscn)
├── TempoPartida (Timer)
├── SomColeta (AudioStreamPlayer)
├── SomDano (AudioStreamPlayer)
└── Interface (CanvasLayer)
└── Placar (Label)Tutorial passo a passo
Parte A. Abrir o jogo pronto (90 min)
- Abra o Godot. No Gerenciador de Projetos, use Importar Projeto Existente e escolha a pasta
sementes-godot. - Clique no botão de executar o projeto (triângulo no canto de cima, à direita; parando o mouse em cima aparece Executar Projeto e o atalho). Jogue uma partida.
- Feche o jogo. Na aba Cena, à esquerda, veja a árvore de
jogo.tscn(captura abaixo). - Clique em cada nó e veja o Inspetor, à direita, mudar. Os nomes das propriedades aparecem em inglês:
Positioné a posição,Textureé a imagem.
Parte B. Mexer sem medo (90 min)
- Clique em
Redemoinhoe mude oPositionno Inspetor. Execute de novo: ele começa em outro lugar. - No painel Arquivos (embaixo, à esquerda), dê dois cliques em
cenas/jogador.tscn. Abriu outra aba: o jogador é uma cena separada, comDesenhoeColisao. - Volte para
jogo(abas no alto da área de trabalho). Use Executar Cena Atual com a cenajogoaberta: o jogo começa direto na partida, sem passar pelo início.
Parte C. Projeto novo (120 min)
- Volte ao Gerenciador (menu Projeto) e use Criar Novo Projeto: nome
meu_primeiro_godot, renderizador Compatibilidade. - Na aba Cena, em Criar Nó Raiz:, escolha Cena 2D. Renomeie o nó para
Mundo(dois cliques no nome). - Com
Mundoselecionado, use Adicionar Nó Filho... (o botão+da aba Cena) e procureSprite2D. Arraste uma imagem da aba Arquivos para a propriedadeTexturedo Inspetor. - Salve a cena (Cena → Salvar Cena) como
mundo.tscne execute. Na primeira vez, o Godot pergunta qual é a cena principal: escolha a atual.
Parte D. Comparar (60 min)
- Monte uma tabela com 5 coisas do Sementes no GDevelop e onde elas estão no Godot.
Imagens
../../../recursos/imagens/godot/captura-godot-editor-cena-jogo.png
: editor com a cena do jogo; árvore à esquerda, Inspetor à direita.../../../recursos/imagens/godot/captura-godot-cena-jogador-inspetor.png
: a cena do jogador e o Inspetor.../../../recursos/imagens/godot/sementes-godot-tela-jogo.png
: o jogo rodando.
Indicação da interface
| Item | Onde fica | Nome na tela |
|---|---|---|
| árvore de nós | aba à esquerda, em cima | Cena |
| arquivos do projeto | aba à esquerda, embaixo | Arquivos |
| propriedades do nó | aba à direita | Inspetor |
| sinais do nó | ao lado do Inspetor | Sinais |
mensagens e print | painel de baixo | Saída |
| telas de trabalho | no alto, no meio | 2D, 3D, Script, Jogo, Biblioteca de Recursos |
| executar | canto de cima, à direita | Executar Projeto, Executar Cena Atual, Parar Projeto em Execução |
| novo nó filho | botão + da aba Cena | Adicionar Nó Filho... |
| configurações | menu Projeto | Configurações do Projeto... |
O Gerenciador de Projetos não foi fotografado nesta versão do curso; os nomes acima foram lidos das traduções do próprio Godot 4.7.2.
O código completo
Esta aula ainda não tem código escrito. O arquivo .tscn é texto, e o aluno pode abrir num bloco de notas para ver que é só uma lista de nós:
[node name="Jogo" type="Node2D"]
script = ExtResource("1_script")
[node name="Fundo" type="Sprite2D" parent="."]
texture = ExtResource("2_fundo")
centered = falseExplicação do código
Cada [node] é um nó: name é o nome, type o tipo e parent diz dentro de quem ele está ("." é a raiz). As linhas de baixo são as propriedades que mudaram no Inspetor. Ninguém precisa escrever isso à mão: o editor escreve ao salvar.
Resultado esperado
O aluno abre o Sementes, executa, encontra os painéis e cria um projeto novo com uma cena 2D e uma imagem.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| o Godot não abre ou reclama do vídeo | placa de vídeo antiga | usar o renderizador Compatibilidade; em último caso, testar outro computador |
| "Importar" não acha o projeto | escolheu a pasta errada | escolher a pasta que tem o arquivo project.godot |
| a imagem fica borrada | filtro de textura suave | no Sementes já está configurado para pixel art (Configurações do Projeto... → Geral → Rendering → Textures → Default Texture Filter = Nearest) |
| executar abre a cena errada | cena principal definida para outra | Configurações do Projeto... → Geral → Application → Run → Main Scene |
Exercício guiado
Na árvore do jogo, quem está "dentro" de quem: Placar está dentro de qual nó? E Interface? (Resposta: Placar está em Interface; Interface está em Jogo.)
Desafio individual
Na cena do jogo, troque o fundo por fundo_titulo.png arrastando a imagem para o Texture do Fundo. Execute e depois desfaça (Ctrl+Z).
Desafio avançado (opcional)
Abra cenas/jogo.tscn num bloco de notas e ache a linha que diz onde o Redemoinho começa. Mude o número, salve e veja no Godot.
Critérios de avaliação
- Abre o projeto e executa.
- Nomeia os painéis e explica o que é nó, cena e árvore.
- Cria uma cena com nó raiz e um filho.
Checklist de conclusão
Extensão
Desenhe no caderno a árvore de nós de um jogo que você conhece (por exemplo, um jogo de futebol: campo, jogadores, bola, placar).