Módulo 4 · Aula 4.3 · Itens e ponto de retorno
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐ | GDevelop 5 (gdevelop.io) | C2, C3 |
Objetivos de aprendizagem
- Distribuir itens colecionáveis guiando o jogador pelo caminho da fase.
- Mostrar "pegas / total" no placar.
- Criar um ponto de retorno (checkpoint) que guarda a posição em duas variáveis.
- Usar a condição Ativa uma única vez enquanto verdadeiro.
Pré-requisitos
Aula 4.2. Aula 3.5 (variáveis e placar).
Materiais
Computador com o GDevelop; castanha.png, bandeira_baixa.png, bandeira_levantada.png.
Conceitos
Item como guia. Itens não servem só para pontuar: uma fileira de castanhas subindo mostra ao jogador onde pular. É game design (Módulo 2) feito com posição de objeto.
Total fixo. A Trilha tem 12 castanhas. O placar mostra "Castanhas: 3/12". O total é escrito no texto porque a fase não muda durante a partida.
Ponto de retorno. Duas variáveis de cena, VoltaX e VoltaY, guardam onde o jogador renasce. Começam no início da fase; ao encostar na bandeira, passam a ser a posição da bandeira.
Ativa uma única vez enquanto verdadeiro. Faz as ações rodarem só no primeiro quadro em que as outras condições ficam verdadeiras. Sem ela, o som da bandeira tocaria 60 vezes por segundo enquanto o jogador estivesse encostado. Na folha aparece como "Ativar uma vez".
Exemplos
| Jogo | Ponto de retorno |
|---|---|
| Trilha da Serra | bandeira no meio da fase |
| jogos de corrida | início de cada volta |
| jogos de aventura | fogueira, banco, cama |
Tutorial passo a passo
Parte A. Castanhas (60 min)
- Objeto
Castanha. Espalhe 12 instâncias: algumas no chão, outras sobre plataformas, formando "setas" para onde pular. - Variável de cena
Castanhas(número, 0) e zere no No começo da cena. - Evento: Colisão Jogador com Castanha → Exclui o objeto Castanha;
Castanhasadicionar 1; som de coleta. - Placar:
"Castanhas: " + ToString(Castanhas) + "/12 Vidas: " + ToString(Vidas).
Parte B. Bandeira (60 min)
- Objeto
Bandeiracom duas animações:BaixaeLevantada. Uma instância no meio da fase, em cima do chão. - Variáveis
VoltaX= 60 eVoltaY= 488 (começo da fase), definidas também no No começo da cena. - Evento com duas condições: Colisão Jogador com Bandeira e Ativa uma única vez enquanto verdadeiro. Ações:
VoltaXdefinir comoBandeira.X();VoltaYdefinir comoBandeira.Y() + 16;- Animação (por nome) da Bandeira
"Levantada"; - Reproduzir um som
bandeira.wav.
- Para ver funcionando, mostre
VoltaXno placar provisoriamente. Na Aula 4.5 o buraco vai usar essas variáveis.
Imagens
- Captura real, grupo "Coletas e checkpoint" com "Ativar uma vez":
recursos/imagens/gdevelop/captura-trilha-eventos-2.png
.
Indicação da interface
| Item | Onde fica |
|---|---|
| Ativa uma única vez enquanto verdadeiro | aba Outras Condições (pesquisar "uma vez") |
Expressões Bandeira.X() e Bandeira.Y() | digitar no campo; o editor sugere enquanto você escreve |
O código completo
Condição: Jogador está em colisão com Castanha
Ações: Deletar Castanha
Alterar a variável Castanhas: adicionar 1
Reproduzir o som sons/coleta.wav, vol.: 60, loop: não
Comentário: Bandeira: vira ponto de retorno quando o jogador encosta.
Condições: Jogador está em colisão com Bandeira
Ativar uma vez
Ações: Alterar a variável VoltaX: definir como Bandeira.X()
Alterar a variável VoltaY: definir como Bandeira.Y() + 16
Alterar a animação de Bandeira: definir como "Levantada"
Reproduzir o som sons/bandeira.wav, vol.: 70, loop: nãoExplicação do código
+ 16emVoltaY: a bandeira tem 64 px de altura e o jogador 48; a conta põe os pés do jogador na mesma linha dos pés da bandeira (a Aula 4.5 ainda subtrai 48 ao reposicionar).- Se houvesse duas bandeiras, a última tocada venceria, porque cada uma sobrescreve as variáveis.
Resultado esperado (testado)
Teste automático: pegar uma castanha soma 1 e a castanha some; encostar na bandeira põe VoltaX = 1200 (a posição dela) e troca para Levantada.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| O som da bandeira não para | falta Ativa uma única vez | adicionar a condição |
VoltaX fica 0 | escreveu "Bandeira.X()" com aspas | sem aspas: é expressão |
| Placar mostra "/12" errado | contou as castanhas errado | contar as instâncias na cena |
| A bandeira não muda de desenho | nome da animação diferente | conferir maiúsculas e acento |
Exercício guiado
O jogador encosta na bandeira, sai, e volta a encostar. Quantas vezes o som toca? (Resposta: duas. "Uma vez enquanto verdadeiro" volta a valer depois que a condição fica falsa.)
Desafio individual
Faça a bandeira tocar o som só na primeira vez da partida, mesmo que o jogador volte. Dica: uma variável BandeiraAtiva.
Desafio avançado (opcional)
Coloque uma castanha dourada escondida que vale 5. Mostre "Segredo encontrado!" por 2 segundos quando pegar.
Critérios de avaliação
- 12 itens bem distribuídos (guiam o caminho).
- Checkpoint guardando posição, com troca de animação e som uma vez só.
Checklist de conclusão
Extensão
Desenhe no papel uma fase de outro tema e marque onde ficariam itens e checkpoints. Explique cada escolha.