Módulo 4 · Aula 4.1 · Física de plataforma: correr, pular, cair
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 10 h/a | ⭐⭐ | GDevelop 5 (gdevelop.io) | C2, C3 |
Objetivos de aprendizagem
- Usar o comportamento Personagem de plataforma no jogador e Plataforma no chão.
- Criar chão e plataformas com o objeto Sprite em Grade.
- Ajustar gravidade, velocidade de salto e velocidade máxima, medindo a altura do pulo.
- Trocar entre três animações (Parado, Andando, Pulando) usando condições do comportamento.
Pré-requisitos
Módulo 3 inteiro (especialmente Aulas 3.2 e 3.3).
Materiais
Computador com o GDevelop; pasta imagens/ da Trilha da Serra; régua ou papel quadriculado.
Conceitos
Personagem de plataforma. Comportamento que já faz o objeto andar para os lados, pular e cair com gravidade. As setas e o [Espaço] funcionam sem nenhum evento (o pulo com [Espaço] foi conferido no teste automático).
Plataforma. Comportamento que transforma um objeto em chão firme para quem tem Personagem de plataforma. Sem ele o personagem atravessa o chão e cai para sempre.
Sprite em Grade. Objeto que "Exibe uma imagem repetida ao longo de uma área." Um bloco de 32 px de largura vira um chão de 640 px só esticando a instância. A imagem chao.png tem 32 × 64: capim em cima e terra embaixo. O chão usa a altura inteira (64); as plataformas, só 32, e mostram a metade de cima.
Os três números que mudam a sensação do pulo:
| Propriedade (como aparece) | Valor do jogo | O que faz |
|---|---|---|
| Gravidade | 1000 | quanto mais alto, mais rápido cai |
| Velocidade de salto | 600 | força do pulo |
| Velocidade máxima | 250 | velocidade correndo |
Há também Tempo de sustentação do salto (0,2 s): segurar [Espaço] faz o pulo ir mais alto. É isso que dá controle ao jogador.
Condições do comportamento. Está no chão, Está caindo, Está pulando e Está se movendo. Elas dizem em que situação o personagem está, e as animações seguem essas situações.
Exemplos
| Jogo | Sensação do pulo |
|---|---|
| Trilha da Serra | pulo médio, queda rápida (gravidade 1000) |
| jogos de lua | gravidade baixa, pulo longo e flutuante |
| jogos difíceis de precisão | gravidade alta, pulo curto e preciso |
Tutorial passo a passo
Parte A. Chão e personagem (90 min)
- Projeto novo
trilha-SEUNOME(800 × 600, salvo em Seu computador). Copie a pastaimagens/da Trilha para dentro dele. - Novo objeto Sprite em Grade chamado
Chao, com a imagemchao.png. Aba Comportamentos → Adicionar um comportamento → Plataforma. - Coloque uma instância e estique para 640 × 64 em (0, 536).
- Novo objeto Sprite
Jogadorcom três animações:Parado,Andando(2 quadros, 0,15 s, repetindo) ePulando(jogador_pulando.png). - Comportamento Personagem de plataforma no Jogador. Coloque-o em (60, 488).
- Visualizar. Ande com as setas e pule com [Espaço].
Parte B. Plataformas e buraco (60 min)
- Mais duas instâncias de
Chao: uma de 160 × 32 em (400, 400), outra de 608 × 64 em (736, 536). Entre 640 e 736 fica um buraco. - Visualizar. Suba na plataforma, pule o buraco. Caia no buraco de propósito: o personagem some para baixo (isso se resolve na Aula 4.5).
Parte C. Animações (60 min)
- Evento: condição Está no chão do Jogador, invertida → ação Animação (por nome)
"Pulando". - Evento: Está no chão e Está se movendo →
"Andando". - Evento: Está no chão e Está se movendo invertida →
"Parado". - Virar: condição Controle pressionado ou simulado com
"Left"→ Inverter o objeto horizontalmente sim; com"Right"→ não.
Parte D. Medir o pulo (60 min)
- Pule parado ao lado de uma régua de plataformas (coloque instâncias de Chao a 64, 96, 128 e 160 px acima do chão). Anote até qual altura ele alcança segurando e soltando o [Espaço] rápido.
- Mude Gravidade para 600 e depois 1500. Repita a medida. Monte uma tabela no diário.
Imagens
- Captura real, eventos de animação e virar do jogo de referência:
recursos/imagens/gdevelop/captura-trilha-eventos-2.png
(parte de cima). - Captura real, jogo rodando:
recursos/imagens/gdevelop/trilha-tela-jogo.png
.
Indicação da interface
| Item | Onde fica |
|---|---|
| Sprite em Grade | janela Novo objeto, grupo Geral, logo abaixo de Sprite |
| Comportamentos Plataforma e Personagem de plataforma | Adicionar um comportamento; pesquise "plataforma" |
| Propriedades do pulo | aba Comportamentos do Jogador, abaixo do nome do comportamento |
| Condições Está no chão, Está caindo | janela de condições, objeto Jogador, grupo do comportamento de plataforma |
O código completo
Como aparece na folha de eventos:
Condição: (NÃO) Jogador está no chão
Ação: Alterar a animação de Jogador: definir como "Pulando"
Condições: Jogador está no chão
Jogador está se movendo
Ação: Alterar a animação de Jogador: definir como "Andando"
Condições: Jogador está no chão
(NÃO) Jogador está se movendo
Ação: Alterar a animação de Jogador: definir como "Parado"
Condição: Jogador tem a teda "Left" pressionada ou simulada → Virar horizontalmente Jogador: sim
Condição: Jogador tem a teda "Right" pressionada ou simulada → Virar horizontalmente Jogador: não(O "teda" é erro de digitação da própria tradução do GDevelop.)
Explicação do código
- "No ar" é tudo o que não é "no chão": pulando ou caindo. Um evento só cobre os dois casos.
- Os eventos de animação não se atrapalham porque as condições não podem ser verdadeiras ao mesmo tempo.
- Controle pressionado ou simulado pega tanto a tecla quanto um "aperto" simulado por eventos (que será usado para controles de toque).
Resultado esperado (testado)
O teste automático confirmou: segurar a seta direita por 0,4 s move o jogador mais de 40 px e mostra Andando; ao soltar ele volta para Parado; [Espaço] faz ele subir e trocar para Pulando; 1,2 s depois ele está de novo no chão (diferença menor que 2 px); a seta esquerda vira o desenho.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| O personagem cai através do chão | falta Plataforma no Chao | adicionar o comportamento |
| O chão aparece com faixas de capim repetidas | instância mais alta que a imagem | usar altura 64 (ou 32 nas plataformas) |
| Fica preso na animação Pulando | condição Está no chão invertida no evento errado | conferir os três eventos |
| Pula para sempre (voa) | Permite saltos repetidos marcado ou pulo muito forte | desmarcar; voltar Velocidade de salto para 600 |
| Gira o boneco ao andar para a esquerda | não é este comportamento; é o evento de virar | conferir "Left" = sim e "Right" = não |
Exercício guiado
Com gravidade 1000 e velocidade de salto 600, sem segurar o pulo, a física simples dá altura de v² ÷ (2 × g) = 600² ÷ 2000 = 180 px. Compare com o que você mediu. Por que segurar o [Espaço] dá mais? (Resposta: o tempo de sustentação mantém a subida por até 0,2 s.)
Desafio individual
Crie uma plataforma que só deixa subir por baixo e pisar por cima (procure o Tipo da plataforma no comportamento Plataforma). Teste e descreva no diário.
Desafio avançado (opcional)
Faça um pulo duplo: depois do primeiro pulo, permita mais um no ar. Pesquise a ação Permitir pular novamente e use uma variável para contar os pulos.
Critérios de avaliação
- Física e animações funcionando.
- Tabela de altura de pulo com três gravidades.
Checklist de conclusão
Extensão
Em Física, a altura máxima de um lançamento vertical é v² ÷ (2g). Mostre ao professor de Física a tabela do seu pulo e compare com a fórmula.