Módulo 3 · Aula 3.3 · Comportamentos: o sertanejo anda
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐ | GDevelop 5 (gdevelop.io) | C2 |
Objetivos de aprendizagem
- Explicar o que é um comportamento e por que ele economiza programação.
- Adicionar o comportamento Movimento em TopDown (4 ou 8 direções) e ajustar as propriedades.
- Escrever os primeiros eventos: trocar a animação quando o personagem anda e virar o desenho para o lado certo.
- Usar uma condição invertida ("não está se movendo").
Pré-requisitos
Aula 3.2 (objeto Jogador com as animações Parado e Andando).
Materiais
Computador com o GDevelop; o seu projeto sementes-SEUNOME.
Conceitos
Comportamento. Um pacote pronto de programação que você "cola" num objeto. O GDevelop explica assim na aba de comportamentos: "Comportamentos adicionam recursos a objetos em questão de clique." Em vez de escrever "se apertar seta para direita, some 5 ao X" para cada direção (como no Scratch), você adiciona um comportamento e o objeto já anda.
Movimento em TopDown. "Top-down" quer dizer visto de cima, como em jogos de Pokémon antigos ou Zelda. O comportamento já lê as setas do teclado e move o objeto com aceleração e freio.
Propriedades do comportamento. Números que mudam a sensação do movimento. As que mais importam aqui:
| Propriedade (como aparece) | Valor que vem | O que faz |
|---|---|---|
| Velocidade máxima | 200 | pixels por segundo no máximo |
| Aceleração | 400 | quão rápido chega na velocidade máxima |
| Desaceleração | 800 | quão rápido para quando solta a tecla |
| Permitir diagonais | marcado | anda na diagonal com duas setas |
| Rotacionar objeto | marcado | gira o desenho para onde anda |
Condição invertida. Uma condição com o sentido trocado: "o Jogador não está se movendo". Na folha de eventos ela aparece com um ícone vermelho na frente.
Expressão. Um cálculo escrito dentro de um evento, como Jogador.TopDownMovement::XVelocity(), que dá a velocidade horizontal do jogador agora. Negativa = indo para a esquerda.
Exemplos
| Jogo | Comportamento que resolveria |
|---|---|
| Sementes do Sertão (visto de cima) | Movimento em TopDown |
| Mario (de lado, com pulo) | Plataforma (Módulo 4) |
| Asteroides | movimento com forças ou física |
Tutorial passo a passo
Parte A. Adicionar o comportamento (40 min)
- No painel Objetos, dê dois cliques em Jogador para abrir a janela de edição.
- Aba Comportamentos. Clique em Adicionar um comportamento.
- No campo Pesquisar comportamentos, digite
TopDown. Escolha Movimento em TopDown (4 ou 8 direções). - O comportamento entra com o nome TopDownMovement. Guarde esse nome: os eventos vão usá-lo.
- Desmarque Rotacionar objeto. Senão o sertanejo gira de ponta-cabeça quando anda para a esquerda.
- Aplicar e Visualizar. As setas já movem o sertanejo, mas ele desliza Parado.
Parte B. Trocar a animação (60 min)
- Abra a aba Jogo (Eventos). Clique em Adicionar um novo evento.
- Clique em Adicionar condição. Em Pesquisar objetos ou condições, clique em Jogador e procure Está se movendo. Confira se o comportamento escolhido é TopDownMovement. Ok.
- Clique em Adicionar ação. Clique em Jogador e procure Animação (por nome). Deixe o sinal em "definir como" e escreva
"Andando"com as aspas. Ok. - Crie um segundo evento igual, com a ação
"Parado". Depois inverta a condição dele (opção de inverter a condição, na própria janela da condição ou no menu do botão direito sobre ela). Deve aparecer o ícone vermelho de "não". - Visualizar. Ele anda mexendo as pernas e para parado.
Parte C. Virar para o lado certo (50 min)
- Novo evento. Condição: em Outras Condições, procure Comparar dois números. Primeira expressão:
Jogador.TopDownMovement::XVelocity(). Sinal:<. Segunda:0. - Ação: Jogador → Inverter o objeto horizontalmente → sim.
- Mais um evento: a mesma comparação com
>e a ação com não. - Visualizar. O sertanejo olha para o lado em que anda.
Parte D. Ajustar a sensação (30 min)
- Teste Velocidade máxima 100, 200 e 350. Anote no diário qual ficou melhor e por quê. Volte para 200 (os testes do jogo de referência usam esse valor).
Imagens
- Captura real, eventos 3 do jogo de referência (animação e inversão):
recursos/imagens/gdevelop/captura-eventos-parte1.png
, metade de baixo. - Os nomes do comportamento e das propriedades foram lidos do próprio GDevelop 5.6.285 em português.
Indicação da interface
| Item | Onde fica |
|---|---|
| Aba Comportamentos | topo da janela de edição do objeto, ao lado de Propriedades |
| Adicionar um comportamento | centro da aba, quando o objeto ainda não tem nenhum |
| Adicionar um novo evento | fim da folha de eventos, à esquerda |
| Adicionar condição / Adicionar ação | metade esquerda / metade direita de cada evento |
| Abas Objetos e Outras Condições | topo da janela de escolher condição |
O código completo
Eventos desta aula, escritos como aparecem na folha de eventos (na janela de escolher, as ações se chamam Animação (por nome) e Inverter o objeto horizontalmente):
Condição: Jogador está se movendo
Ação: Alterar a animação de Jogador: definir como "Andando"
Condição: (NÃO) Jogador está se movendo
Ação: Alterar a animação de Jogador: definir como "Parado"
Condição: Jogador.TopDownMovement::XVelocity() < 0
Ação: Virar horizontalmente Jogador: sim
Condição: Jogador.TopDownMovement::XVelocity() > 0
Ação: Virar horizontalmente Jogador: nãoExplicação do código
- Os dois primeiros eventos são um "se / senão" escrito em duas linhas: um com a condição normal, outro com ela invertida. No Scratch seria um único "se ... senão".
- Quando a velocidade X é exatamente 0 (andando só para cima ou para baixo), nenhum dos dois últimos eventos roda, e o boneco continua olhando para o último lado. É de propósito.
TopDownMovementé o nome do comportamento. Se você renomeou, use o seu nome.
Resultado esperado
Setas movem o sertanejo nas 8 direções; ele mexe as pernas quando anda, fica parado quando solta, e olha para a esquerda ou a direita conforme anda.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| O boneco gira de ponta-cabeça | Rotacionar objeto marcado | desmarcar no comportamento |
| A animação não troca | nome escrito sem aspas ou diferente (andando) | escrever "Andando" igual ao nome da animação |
| Fica sempre na animação Andando | esqueceu de inverter a condição do segundo evento | inverter (aparece o ícone vermelho) |
Erro na expressão XVelocity | nome do comportamento diferente | conferir o nome na aba Comportamentos |
| As setas não fazem nada | Desativar os controles padrão do teclado marcado | desmarcar |
Exercício guiado
Mude Permitir diagonais para desmarcado e visualize. Pergunta: com duas setas apertadas, o que acontece? (Resposta conferível: o sertanejo anda só em uma direção por vez, como em jogos de grade.) Volte a marcar.
Desafio individual
Faça o sertanejo andar mais rápido enquanto a tecla [Shift] está apertada. Dica: há uma ação do comportamento para mudar a Velocidade máxima e uma condição de Teclado para tecla pressionada. Lembre de voltar para 200 quando soltar.
Desafio avançado (opcional)
Coloque o comportamento também no Redemoinho, mas marque Desativar os controles padrão do teclado. Ele fica parado. Por quê? (Ele só anda quando alguém "aperta" as setas por ele, o que veremos na Aula 3.9.)
Critérios de avaliação
- Movimento funcionando sem rotação.
- Os quatro eventos corretos, com a condição invertida.
- Registro no diário do teste de velocidade.
Checklist de conclusão
Extensão
Liste 3 jogos que você conhece e diga qual comportamento pronto cada um usaria: visto de cima, plataforma ou outro.