Voltar para o Blog
Quest Log

Jogo do Dinossauro no Scratch: Como Fazer o Dino do Chrome Passo a Passo

Tela do Scratch mostrando um dinossauro pulando sobre um cacto verde no deserto, com blocos de programação coloridos ao lado

Jogo do dinossauro no Scratch passo a passo: pulo com gravidade, cactos com clones, colisão, pontos e game over. Tutorial para crianças e iniciantes.

Sabe aquele joguinho que aparece no Chrome quando a internet cai, com um dinossauro pulando cactos no deserto? Ele é um dos jogos mais jogados do mundo e cabe inteirinho dentro do Scratch. Neste tutorial você vai montar o seu próprio jogo do dinossauro no Scratch, passo a passo, bloco por bloco, em português. Serve para crianças a partir dos 8 anos, para pais que querem programar junto com os filhos e para professores procurando um projeto de sala que rende.

Se você nunca abriu o Scratch, vale passar antes pelo nosso guia de como criar jogo no Scratch para conhecer a interface, os sprites e o palco. Se já sabe arrastar blocos, pode seguir direto por aqui.

O que vamos construir

O jogo do dinossauro é do tipo corrida infinita: o personagem não anda para a frente, é o mundo que corre até ele. Nossa versão vai ter:

  • Um dinossauro que pula. Ele fica parado no canto esquerdo e pula quando o jogador aperta espaço, com uma gravidade que puxa de volta para o chão.
  • Cactos que vêm até ele. Nascem na borda direita e deslizam para a esquerda, cada vez mais rápido.
  • Chão que corre. Uma faixa de chão deslizando para dar a sensação de corrida.
  • Pontuação e dificuldade. Os pontos sobem com o tempo e o jogo acelera junto.
  • Game over e recomeço. Encostou num cacto, acabou. Bandeira verde para tentar de novo.

Parece muita coisa, mas cada pedaço usa poucos blocos. Em uma tarde o jogo está rodando.

Criando os sprites: dinossauro, cacto e chão

Abra o Scratch (scratch.mit.edu), clique em "Criar" e apague o gato padrão com o botão direito, se não for usá-lo. Você vai precisar de três sprites:

  1. Dinossauro. A biblioteca do Scratch tem o sprite "Dinosaur4", que já vem com fantasias de corrida. Se preferir, desenhe o seu no editor de fantasias: um retângulo cinza com pernas e olho já dá o clima do original. Diminua o tamanho para uns 50.
  2. Cacto. Desenhe um retângulo verde em pé com dois bracinhos no editor de fantasias. Capriche ou não, o importante é ser mais alto que largo. Tamanho por volta de 40.
  3. Chão. Desenhe um retângulo comprido e baixo, da largura do palco inteiro, e posicione na parte de baixo. Ele vai servir de apoio para o dinossauro e de referência visual da corrida.

No cenário, escolha um fundo claro da biblioteca ou pinte um céu de deserto. Posicione o dinossauro do lado esquerdo, em pé sobre o chão, algo como x: -180. Anote o valor de y em que ele fica bem apoiado, você vai usar esse número já já.

Como fazer o jogo do dinossauro no Scratch: o pulo com gravidade

Essa é a parte mais importante do projeto. O Scratch não tem bloco de gravidade pronto, e isso é ótimo: você vai construir a sua.

A variável velocidadeY

Na categoria "Variáveis", clique em "Criar uma variável" e chame de velocidadeY. Ela guarda o quão rápido o dinossauro está subindo ou caindo naquele momento. Positivo sobe, negativo desce.

Monte este script no sprite do dinossauro:

  • "quando bandeira verde for clicada"
  • "vá para x: -180 y:" com o valor de y que você anotou
  • "mude velocidadeY para 0"
  • "sempre" e, dentro dele:
    • "mude velocidadeY por -1" (a gravidade puxando)
    • "mude y por velocidadeY" (o dinossauro se move)
    • "se tocando em Chao? então": "mude velocidadeY para 0" e "vá para y:" com o valor do chão

Traduzindo: a cada volta do laço a velocidade fica um pouco mais negativa e o dinossauro desce essa quantidade. Quando ele encosta no chão, a velocidade zera e ele fica apoiado, sem afundar.

O pulo com a tecla espaço

Agora adicione um segundo script no dinossauro:

  • "quando a tecla espaço for pressionada"
  • "se tocando em Chao? então"
  • "mude velocidadeY para 14"

O detalhe que separa um jogo bom de um bugado é a condição do meio: o dinossauro só ganha impulso se estiver tocando no chão. Sem ela, o jogador segura espaço e o bicho sai voando pela tela. Teste agora: aperte a bandeira verde e pule algumas vezes. Se o pulo estiver baixo ou alto demais, ajuste o 14 para cima ou para baixo.

O chão que corre

Para dar sensação de velocidade, o chão desliza para a esquerda. O truque clássico: duplique o sprite do chão (botão direito, "duplicar") e coloque os dois lado a lado, um em x: 0 e outro em x: 460. Em cada um, monte:

  • "quando bandeira verde for clicada"
  • "sempre":
    • "mude x por -5"
    • "se posição x < -460 então": "mude x para 460"

Enquanto um sai pela esquerda, o outro entra pela direita, e o chão nunca acaba. Se quiser um toque extra, alterne as fantasias do dinossauro dentro de um laço com "próxima fantasia" e "espere 0.1 seg" para ele parecer que corre.

Próximo nível
Quer aprender isso na prática?

No CursoGame.Dev você sai dos tutoriais soltos e constrói jogos publicáveis, com trilha progressiva, quests práticas e feedback real.

Conhecer a plataforma
+500 alunos4.9/5Garantia 7 dias

Cactos infinitos com clones

Criar um sprite novo para cada cacto daria um trabalho enorme. Em vez disso, o sprite de cacto vai funcionar como uma fábrica de cópias usando clones.

Antes, crie mais uma variável: velocidade, que controla o quão rápido os obstáculos andam. No sprite do cacto, monte o script da fábrica:

  • "quando bandeira verde for clicada"
  • "esconda" (o cacto original nunca aparece, só os clones)
  • "mude velocidade para 5"
  • "sempre":
    • "crie clone de Cacto"
    • "espere (número aleatório entre 1 e 2.5) seg"

O bloco de número aleatório vai dentro do espere, e é ele que deixa o jogo imprevisível: às vezes os cactos vêm juntinhos, às vezes dão uma folga.

Agora o script de cada clone, no mesmo sprite:

  • "quando eu começar como clone"
  • "vá para x: 240 y:" com o y do chão
  • "mostre"
  • "repita até que posição x < -235":
    • "mude x por (0 - velocidade)"
  • "apague este clone"

Cada clone nasce na borda direita, caminha para a esquerda a cada quadro e, quando sai da tela, se apaga sozinho. Usamos "0 - velocidade" para transformar a velocidade em movimento para a esquerda. Aperte a bandeira verde: o deserto já está vivo, com cactos desfilando e o dinossauro pulando por cima.

Colisão: tocou no cacto, acabou

A regra do jogo inteiro cabe num bloco: "tocando em?". No script do dinossauro, dentro daquele mesmo laço "sempre" da gravidade, adicione:

  • "se tocando em Cacto? então":
    • "envie fim de jogo a todos"

O bloco "envie a todos" fica na categoria "Eventos". Clique nele, escolha "nova mensagem" e chame de fim de jogo. Essa mensagem é um grito que todos os sprites escutam, e cada um decide o que fazer quando ela chega. Uma dica: se a colisão estiver sensível demais (o jogo acabando quando o dinossauro nem encostou direito), diminua um pouco o desenho do cacto ou apare as bordas transparentes da fantasia.

Placar e dificuldade que aumenta

Crie a variável pontos e deixe ela visível no palco (caixinha marcada na categoria Variáveis). No cenário ou em qualquer sprite, monte:

  • "quando bandeira verde for clicada"
  • "mude pontos para 0"
  • "sempre":
    • "espere 0.5 seg"
    • "mude pontos por 1"

Sobreviveu, pontuou. Agora a dificuldade, no mesmo lugar, num script separado:

  • "quando bandeira verde for clicada"
  • "sempre":
    • "espere 5 seg"
    • "mude velocidade por 1"

A cada 5 segundos os cactos andam mais rápido, porque o script dos clones usa a variável velocidade no movimento. É por isso que guardamos a velocidade numa variável em vez de escrever o número direto no bloco: mudando um valor só, o jogo inteiro acelera. Esse é o mesmo raciocínio usado em jogos profissionais.

Tela de game over e recomeçar

Crie um sprite novo só com o texto "GAME OVER" desenhado bem grande no editor de fantasias. Nele, dois scripts:

  • "quando bandeira verde for clicada" seguido de "esconda"
  • "quando eu receber fim de jogo" seguido de "vá para x: 0 y: 0", "mostre" e "pare todos"

E no dinossauro e no cacto, adicione também um script "quando eu receber fim de jogo" com "pare os outros scripts deste sprite" se quiser congelar tudo na hora exata da batida, antes do "pare todos" fechar o jogo.

Recomeçar é apertar a bandeira verde de novo. Como todos os scripts começam zerando posição, pontos e velocidade, o jogo volta limpinho para o início. Se algum valor "vazar" de uma partida para outra, é sinal de que faltou zerar alguma variável no comecinho de algum script.

Ideias para deixar o jogo com a sua cara

O tutorial acaba aqui, mas o jogo não precisa acabar. Algumas melhorias na medida para praticar:

  • Pterossauros voando. Duplique a lógica do cacto num sprite de pássaro, mas faça cada clone nascer com "vá para y: (número aleatório entre 20 e 80)". Agora tem obstáculo em alturas diferentes, e o jogador precisa decidir entre pular ou ficar no chão.
  • Modo noturno. No script do placar, verifique "se pontos > 100 então" e troque o cenário com "mude o cenário para deserto noite", uma versão escura do fundo que você mesmo pinta. Igual ao jogo original do Chrome.
  • Sons. Um "toque o som" com um som curto no pulo e outro mais grave no game over mudam completamente a sensação do jogo. A aba Sons tem uma biblioteca inteira para explorar.
  • Recorde. Crie a variável recorde e, no game over, verifique "se pontos > recorde então" seguido de "mude recorde para pontos". Bater o próprio recorde é o que faz todo mundo apertar a bandeira verde de novo.

Próximos passos depois do dinossauro

Se este projeto foi divertido, o caminho natural é refazer a mesma ideia numa engine profissional. Temos um tutorial de endless runner na Godot que constrói exatamente este tipo de jogo, com obstáculos, velocidade crescente e pontuação, só que em GDScript, uma linguagem de texto feita para ser simples. Comparar as duas versões do mesmo jogo é a melhor aula de transição que existe.

E se a dúvida é sobre o momento certo de dar esse salto, o guia sobre quando migrar do Scratch para a Godot mostra os sinais de que a criança (ou você) já está pronta. A regra geral: quando os blocos começarem a atrapalhar em vez de ajudar, é hora.

Até lá, divirta-se com o seu deserto. E prepare-se: alguém da família vai roubar o teclado para tentar bater o seu recorde.

Perguntas frequentes

Qual idade é ideal para fazer o jogo do dinossauro no Scratch?

A partir dos 8 anos a maioria das crianças consegue montar o jogo com um adulto acompanhando. A partir dos 10, muitas fazem sozinhas seguindo o passo a passo. O projeto usa variáveis e clones, então funciona muito bem como segundo projeto, depois de algo mais simples como um jogo de pegar objetos.

Preciso instalar alguma coisa para fazer o jogo do dinossauro?

Não. O Scratch roda de graça direto no navegador, em scratch.mit.edu. Criando uma conta gratuita, o projeto fica salvo na nuvem e pode ser aberto em qualquer computador. Para quem tem internet instável, existe a versão offline do Scratch para baixar.

Como faço o pulo do dinossauro se o Scratch não tem bloco de gravidade?

Você cria uma variável chamada velocidadeY. Dentro de um bloco sempre, mude velocidadeY por -1 e depois mude y por velocidadeY. Isso faz o dinossauro cair cada vez mais rápido, como na física de verdade. O pulo é definir velocidadeY para um valor alto, como 14, quando o jogador aperta espaço e o dinossauro está tocando no chão.

Por que usar clones para os cactos em vez de copiar vários sprites?

Com o bloco crie clone de, um único sprite de cacto gera cópias infinitas. Cada clone nasce na borda direita, desliza para a esquerda e se apaga sozinho ao sair da tela. Sem clones, você precisaria duplicar sprites na mão, o jogo ficaria limitado e qualquer ajuste teria que ser repetido em cada cópia.

O dinossauro pula sem parar quando seguro a tecla espaço, como arrumo?

Falta a condição de chão. Antes de mudar a velocidadeY para o valor do pulo, verifique com o bloco tocando em Chao? se o dinossauro está mesmo apoiado. Se a verificação não existir, cada quadro com a tecla apertada dá um novo impulso e o dinossauro voa para fora da tela.

Depois do jogo do dinossauro no Scratch, qual é o próximo passo?

Refazer o mesmo jogo numa engine profissional. Como a lógica de corrida infinita já está entendida, dá para focar só na ferramenta nova. A Godot é o caminho natural: gratuita, leve e com GDScript, uma linguagem de texto simples para quem veio dos blocos do Scratch.