Pular para o conteúdo
Jogos Digitais
Nesta página
  1. Objetivos de aprendizagem
  2. Pré-requisitos
  3. Materiais
  4. Conceitos
  5. Exemplos
  6. Tutorial passo a passo
  7. Imagens
  8. Indicação da interface
  9. O código completo
  10. Explicação do código
  11. Resultado esperado (testado)
  12. Problemas comuns
  13. Exercício guiado
  14. Desafio individual
  15. Desafio avançado (opcional)
  16. Critérios de avaliação
  17. Checklist de conclusão
  18. Extensão

Módulo 4 · Aula 4.4 · O calango: inimigo que patrulha

Carga horáriaDificuldadeFerramentaCompetências
10 h/a⭐⭐⭐GDevelop 5 (gdevelop.io)C1, C2

Objetivos de aprendizagem

  1. Criar uma variável de objeto e explicar a diferença para variável de cena.
  2. Fazer um inimigo andar para um lado e para o outro entre dois marcadores.
  3. Usar marcadores invisíveis para controlar o comportamento dos inimigos.
  4. Fazer vários inimigos funcionarem com os mesmos eventos.

Pré-requisitos

Aulas 4.1 a 4.3. Aula 3.7 (forças).

Materiais

Computador com o GDevelop; calango1.png, calango2.png, limite.png (imagem transparente).

Conceitos

Variável de objeto. Cada instância tem a sua. Dois calangos, cada um com a sua Direcao: um pode ir para a direita enquanto o outro vai para a esquerda. Variável de cena seria uma só para todos, e os dois andariam sempre juntos.

Direção como número. Direcao = 1 (direita) ou −1 (esquerda). A velocidade é 70 * Calango.Variable(Direcao): dá +70 ou −70. Uma conta só para os dois sentidos.

Marcadores de limite. Dois objetos invisíveis: LimiteEsquerdo manda o calango para a direita (Direcao = 1) e LimiteDireito manda para a esquerda (−1). São dois objetos diferentes de propósito: se fosse um só "Limite" que inverte a direção, o calango podia ficar trocando de direção sem parar enquanto encostado nele.

Invisível, mas com colisão. limite.png é totalmente transparente. A colisão usa a caixa da imagem, então funciona mesmo sem nada visível.

Exemplos

JogoPatrulha
Trilha da Serracalango entre dois marcadores
jogos de plataforma clássicosinimigo vira ao bater numa parede ou na beira
jogos de furtividadeguarda segue uma rota de pontos

Tutorial passo a passo

Parte A. O calango (40 min)

  1. Objeto Calango com uma animação de 2 quadros (0,2 s, repetindo).
  2. Aba Variáveis do objeto: crie Direcao, número, valor −1.
  3. Objetos LimiteEsquerdo e LimiteDireito, os dois com limite.png.
  4. Coloque um calango no chão e um limite de cada lado (por exemplo, x = 820 e x = 1300).

Parte B. Andar (60 min)

  1. Evento sem condição. Ação Adicionar uma força no Calango: X = 70 * Calango.Variable(Direcao), Y = 0, instantânea.
  2. Visualizar. O calango anda para a esquerda e sai pelo limite.

Parte C. Virar (60 min)

  1. Evento: Colisão Calango com LimiteEsquerdo → Alterar valor da variável do objeto Direcao do Calango "definir como" 1.
  2. Evento: Colisão Calango com LimiteDireito → Direcao = -1.
  3. Eventos de virar o desenho: Valor da variável do objeto Direcao < 0 → inverter sim; > 0 → não.
  4. Visualizar.

Parte D. Dois calangos (40 min)

  1. Coloque um segundo calango com outros dois limites em outro trecho. Sem criar nenhum evento novo, os dois patrulham. Explique no diário por quê.

Imagens

  • Captura real, eventos da patrulha ("Adicionar ao Calango instantânea uma força de 70 * Calango.Variable(Direcao) p/s no eixo X e 0 p/s no eixo Y", "A variável Direcao de Calango < 0"): recursos/imagens/gdevelop/captura-trilha-eventos-2.png e -3.png.

Indicação da interface

ItemOnde fica
Aba Variáveis do objetojanela de edição do objeto, terceira aba
Alterar valor da variável do objetoações do objeto Calango (pesquisar "variável do objeto")
Valor da variável do objetocondições do objeto Calango
Adicionar uma forçaações do objeto, grupo de movimento com forças

O código completo

Comentário: Calango patrulha: anda na direção da variável Direcao e vira ao tocar um limite.
(sem condição)                                → Adicionar ao Calango instantânea uma força de
                                                 70 * Calango.Variable(Direcao) p/s no eixo X e 0 p/s no eixo Y
Calango está em colisão com LimiteEsquerdo    → Alterar a variável Direcao de Calango: definir como 1
Calango está em colisão com LimiteDireito     → Alterar a variável Direcao de Calango: definir como -1
A variável Direcao de Calango < 0             → Virar horizontalmente Calango: sim
A variável Direcao de Calango > 0             → Virar horizontalmente Calango: não

Explicação do código

  • Cada evento vale para todos os calangos, mas a seleção de instâncias (Aula 3.4) faz cada colisão mudar só o calango que encostou.
  • O desenho do calango olha para a direita. Por isso "virar = sim" quando vai para a esquerda.

Resultado esperado (testado)

Teste automático: com Direcao = 1, o calango andou para a direita (mais de 10 px em 0,4 s); ao chegar no limite direito, Direcao virou −1 e o desenho foi invertido.

Problemas comuns

SintomaCausaSolução
Os dois calangos andam iguaisDirecao criada como variável de cenacriar na aba Variáveis do objeto
O calango treme no limiteum limite só que inverte a direçãousar dois objetos de limite
O calango cai do mundocolocou Personagem de plataforma nele sem chãotirar, ou colocar chão
Os limites aparecemimagem não transparenteusar limite.png

Exercício guiado

Calango em x = 1000 com Direcao = −1 e limites em 820 e 1300. Em quanto tempo ele chega ao limite esquerdo? (Resposta: a borda esquerda dele precisa andar até encostar no limite, cerca de 160 px, a 70 px/s: uns 2,3 s.)

Desafio individual

Faça o calango ficar mais rápido quando o jogador estiver a menos de 200 px dele (ele "percebe" o jogador).

Desafio avançado (opcional)

Em vez de limites, faça o calango virar quando chegar na beira de uma plataforma. Pesquise a condição de distância ou use um objeto "sensor" preso à frente dele.

Critérios de avaliação

  • Dois calangos patrulhando com os mesmos eventos.
  • Explicação escrita da diferença entre variável de objeto e de cena.

Checklist de conclusão

Extensão

Observe um animal de verdade (formiga, galinha, calango) por 2 minutos e descreva o "algoritmo" de movimento dele como eventos.