Como Fazer um Jogo de Tiro no Scratch (Passo a Passo)

Aprenda a fazer um jogo de tiro no Scratch passo a passo: personagem que atira, clones para os disparos, inimigos, pontos, vidas e game over.
Fazer um jogo de tiro no Scratch é um dos projetos mais divertidos para quem está começando a programar: você monta um personagem que anda, atira ao apertar uma tecla, enfrenta inimigos que aparecem sozinhos, ganha pontos a cada acerto e perde vidas até o game over. Parece coisa de gente grande, mas uma criança consegue montar tudo em uma tarde, de graça, direto no navegador em scratch.mit.edu. E no caminho ela aprende três ideias que existem em qualquer jogo profissional: clones, variáveis e detecção de colisão. Vamos passo a passo, testando com a bandeira verde a cada etapa.
Se esta é a sua primeira vez por aqui, respire fundo: não tem código difícil, só blocos coloridos que você arrasta e encaixa. Você pode escolher uma nave espacial, um mago que solta feitiços, um herói com estrelinhas ou qualquer personagem que goste. A mecânica é a mesma, muda só o desenho.
O Plano do Jogo
Antes de arrastar qualquer bloco, entenda a receita. Nosso jogo tem quatro personagens e dois números importantes:
- O Personagem, que anda e fica de frente para os inimigos.
- O Tiro, que nasce no personagem, viaja pela tela e some na borda.
- O Inimigo, que aparece em posição aleatória e se aproxima.
- O Palco, com um cenário de fundo e a mensagem de fim de jogo.
- A variável pontos, que sobe quando um tiro acerta um inimigo.
- A variável vidas, que desce quando um inimigo encosta no personagem.
O truque central do jogo inteiro são os clones. Tiro e inimigo não são dezenas de sprites: são um sprite molde escondido que fabrica cópias vivas. É assim que jogos de verdade funcionam, e o Scratch deixa isso bem simples de entender.
Passo 1: O Personagem que se Move
Escolha um sprite para ser seu herói (na biblioteca do Scratch tem naves, animais e personagens prontos). Vamos deixá-lo andando para os lados na parte de baixo da tela. No sprite do personagem, monte este script:
quando a bandeira verde clicadavá para x: 0 y: -140(deixa o personagem embaixo)semprese tecla seta para a direita pressionada? entãoadicione 10 a x
se tecla seta para a esquerda pressionada? entãoadicione -10 a x
O bloco sempre fica repetindo o tempo todo, checando se você está segurando uma seta. O adicione 10 a x empurra o personagem para a direita, e o adicione -10 a x para a esquerda. Clique na bandeira verde e teste: seu personagem já anda. Se ele sumir da tela, é porque não existe limite ainda, e tudo bem, os inimigos virão pela frente.
Quer que ele suba e desça também? É só copiar a ideia usando as setas para cima e para baixo com adicione 10 a y e adicione -10 a y. Comece simples e vá acrescentando.
Passo 2: O Tiro com Clones
Aqui mora a mágica. Crie um sprite novo pequeno para ser o tiro (uma bolinha, uma estrela ou um laser). Encolha ele com o botão de reduzir tamanho. O tiro vai funcionar em dois scripts separados.
Primeiro, o script que fabrica o tiro quando você aperta espaço:
quando a tecla espaço for pressionadacrie clone de mim mesmo
Depois, o script que diz o que cada clone faz assim que nasce:
quando eu começar como clonevá para Personagem(o tiro nasce em cima do herói)mostresempreadicione 10 a y(o tiro sobe; use x se o seu jogo for de lado)se tocando na borda? entãoapague este clone
Por fim, para o sprite molde não ficar aparecendo parado, coloque um quando a bandeira verde clicada seguido de esconda. O molde fica invisível, e só as cópias vivas aparecem voando. Teste apertando espaço: vários tiros saem em sequência, um atrás do outro, e somem no topo. Esse é o coração de qualquer jogo de tiro no Scratch.
Se os tiros saírem rápido demais, adicione um espere 0.2 segundos logo depois do crie clone de mim mesmo, para dar um respiro entre os disparos.
Passo 3: Os Inimigos que Aparecem
Agora os alvos. Escolha um sprite para o inimigo e use a mesma ideia de clones, mas com um detalhe novo: eles nascem em posições aleatórias. Primeiro, o script que fabrica inimigos sem parar:
quando a bandeira verde clicadaescondasempreespere 1.5 segundoscrie clone de mim mesmo
Depois, o que cada inimigo faz ao nascer:
quando eu começar como clonevá para x: número aleatório entre -220 e 220 y: 170(nasce no topo, em lugar sorteado)mostresempreadicione -5 a y(desce em direção ao personagem)se tocando na borda? entãoapague este clone
O bloco número aleatório entre -220 e 220 é o que faz cada inimigo surgir em um ponto diferente, deixando o jogo imprevisível e divertido. Teste com a bandeira verde: inimigos começam a descer sozinhos. Ainda não acontece nada quando o tiro encosta neles, e é isso que arrumamos agora.
Passo 4: Detectar o Acerto e Contar Pontos
Vá na categoria Variáveis e clique em "Criar uma variável". Chame de pontos e deixe marcada para todos os sprites. No sprite do personagem, zere o placar no começo:
quando a bandeira verde clicadamude pontos para 0
Agora, a colisão. Volte ao script do clone do tiro (aquele quando eu começar como clone) e adicione, dentro do sempre, o teste de acerto:
se tocando em Inimigo? entãomude pontos por 1apague este clone
E no script do clone do inimigo, faça ele sumir quando for atingido, também dentro do sempre:
se tocando em Tiro? entãoapague este clone
Pronto: quando o tiro encosta no inimigo, o placar sobe e os dois desaparecem. O bloco tocando em é a detecção de colisão, o mesmo conceito que jogos grandes usam para saber quando duas coisas se encostam. Teste e comemore o primeiro ponto.
Passo 5: Vidas e Fim de Jogo
Um jogo sem risco perde a graça. Crie outra variável chamada vidas. No personagem, comece com três vidas:
quando a bandeira verde clicadamude vidas para 3
Ainda no personagem, adicione um script que tira uma vida quando um inimigo encosta nele:
quando a bandeira verde clicadasemprese tocando em Inimigo? entãomude vidas por -1espere 1 segundos(evita perder várias vidas de uma vez só)
Por último, a tela de game over. Ainda no personagem, monte a verificação do fim:
quando a bandeira verde clicadasemprese vidas = 0 entãodiga Fim de jogo! por 2 segundospare tudo
O bloco pare tudo congela tudo na hora, encerrando a partida. Se quiser deixar mais bonito, troque o diga por uma troca de fundo no palco com uma imagem escrita "Game Over". A ideia é a mesma: quando as vidas acabam, o jogo para.
Deixando o Jogo com a sua Cara
O esqueleto está pronto, e agora começa a parte que mais diverte as crianças: personalizar. Algumas ideias fáceis de acrescentar:
- Som: adicione
toque o som poptoda vez que um inimigo é atingido, para dar aquele feedback gostoso. - Dificuldade crescente: diminua aos poucos o
espereque fabrica inimigos, e eles vão aparecendo cada vez mais rápido. - Chefe: crie um inimigo maior que só some depois de vários tiros, usando uma variável de vida própria para ele.
- Fases: quando
pontospassar de certo número, troque o fundo do palco e acelere o jogo.
O segredo é mudar uma coisa de cada vez e testar com a bandeira verde. Se algo quebrar, você sabe exatamente onde mexeu.
Para Onde Ir Depois
Se você curtiu montar este jogo de tiro no Scratch, o próximo passo natural é variar o tipo de jogo para praticar os mesmos conceitos em contextos diferentes. Vale muito montar também o meu guia de como fazer um jogo de nave no Scratch, que aprofunda os space shooters, e o de como fazer um jogo de plataforma no Scratch, que troca o tiro por pulo e gravidade e treina outros blocos.
E quando os projetos começarem a ficar grandes demais para os blocos, chega o momento de pensar em uma ferramenta mais poderosa. Escrevi um guia inteiro sobre do Scratch para o Godot: quando migrar, explicando os sinais de que a criança já está pronta para uma engine de verdade sem perder o que aprendeu aqui. Mas não tenha pressa: o Scratch ensina o jeito de pensar que vale para a vida inteira de quem programa jogos. Divirta-se montando, testando e melhorando o seu jogo de tiro, um bloco de cada vez.
Perguntas frequentes
Como fazer um personagem atirar no Scratch?
Você usa clones. No sprite do tiro, coloque o bloco quando a tecla espaço for pressionada com crie clone de mim mesmo. No script quando eu começar como clone, o tiro vai para a posição do personagem, aparece e se move com adicione 10 a x (ou a y) dentro de um sempre, até tocar na borda, onde é apagado com apague este clone.
O que são clones no Scratch e por que usar num jogo de tiro?
Clones são cópias vivas de um sprite. Em vez de criar dezenas de tiros à mão, você mantém um sprite molde escondido que fabrica cópias com crie clone de mim mesmo. Cada cópia segue o script quando eu começar como clone e some sozinha depois. É assim que dá para atirar muitas vezes sem travar o jogo.
Como detectar quando o tiro acerta o inimigo?
Dentro do sempre do clone do tiro, use o bloco se tocando em Inimigo então. Quando for verdadeiro, mude os pontos com mude pontos por 1 e apague o clone com apague este clone. No lado do inimigo, ele também some quando é atingido.
Como fazer o placar de pontos no jogo de tiro?
Crie uma variável chamada pontos na categoria Variáveis. No início, zere com mude pontos para 0. Cada acerto usa mude pontos por 1. O placar aparece sozinho no canto do palco, e você pode arrastá-lo para a posição que quiser.
Como fazer o jogo acabar quando as vidas chegam a zero?
Crie a variável vidas e comece com 3. Quando um inimigo encosta no personagem, use mude vidas por -1. Num bloco sempre, teste se vidas = 0 então, mostre a mensagem de game over com o bloco diga e use pare tudo para congelar o jogo.
Qual idade consegue fazer um jogo de tiro no Scratch?
A partir de uns 8 anos com um adulto ajudando na leitura, e por volta de 10 ou 11 anos de forma bem independente. O passo dos clones é o mais abstrato, então monte o jogo em etapas e teste com a bandeira verde a cada bloco novo para a criança ver o progresso na hora.


