Módulo 1 · Aula 1.9 · Clones
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐⭐ | Scratch | C1, C2 |
Objetivos de aprendizagem
- Criar cópias de um ator durante o jogo com "crie clone de [este ator]".
- Programar o comportamento de cada cópia com "quando eu começar como um clone".
- Apagar clones que não servem mais com "apague este clone".
- Explicar por que o ator original costuma ficar escondido.
Pré-requisitos
Aulas 1.5 e 1.3.
Materiais
Computador; projeto 1-9-chuva-de-gotas.sb3 (professor).
Conceitos
- Clone: cópia de um ator criada enquanto o jogo roda. Tem a mesma aparência e os mesmos roteiros, mas posição e efeitos próprios.
- Original e clones: o ator original funciona como uma "fábrica". Ele fica escondido e cria os clones; cada clone aparece, faz sua parte e se apaga.
- "quando eu começar como um clone": roteiro que só os clones executam, assim que nascem.
- "apague este clone": remove a cópia. Sem isso, os clones se acumulam e o jogo fica lento. O Scratch tem um limite de clones ao mesmo tempo.
- No Caça-Estrelas havia uma estrela reaproveitada. Com clones, podem cair várias ao mesmo tempo.
Exemplos
- Tiros de uma nave, gotas de chuva, inimigos que nascem em ondas, moedas espalhadas.
Tutorial passo a passo
- Projeto novo
chuva-de-gotas-v1.sb3. Apague o gato (botão direito na miniatura > apagar). - Adicione o ator Ball da biblioteca e renomeie para Gota. Tamanho 30.
- Crie as variáveis
gotas_criadasegotas_no_chao. - Monte o roteiro da fábrica (bandeira). "crie clone de [este ator]" está em Controle.
- Monte o roteiro do clone: "quando eu começar como um clone" (também em Controle).
- Para a cor sorteada, use em Aparência "defina o efeito [cor] como ( )" com um número aleatório dentro.
- Rode. Devem cair 20 gotas de cores diferentes, uma a cada 0,2 segundo.
O código completo
Ator Gota:
quando ⚑ for clicado
esconda
mude [gotas_criadas] para (0)
mude [gotas_no_chao] para (0)
repita (20) vezes
crie clone de [este ator]
espere (0.2) seg
fim
quando eu começar como um clone
vá para x: (número aleatório entre (-220) e (220)) y: (170)
defina o efeito [cor] como (número aleatório entre (0) e (200))
mostre
adicione (1) a [gotas_criadas]
repita até que <(posição y) < (-170)>
adicione (-6) a y
fim
adicione (1) a [gotas_no_chao]
apague este cloneProjeto pronto: ../projetos/1-9-chuva-de-gotas/1-9-chuva-de-gotas.sb3.
Explicação do código
- O original se esconde e só fabrica. Se ele aparecesse, haveria uma "gota 21" parada no meio do palco.
- Cada clone sorteia a própria posição e cor; por isso cada gota é diferente.
- "mostre" vem depois do "vá para": se viesse antes, a gota apareceria por um instante no lugar do original.
- Cada clone tem o próprio "repita até que", e todos rodam ao mesmo tempo.
Resultado esperado (testado)
Durante a chuva há várias gotas no palco ao mesmo tempo (o teste contou 5 clones simultâneos após 1 segundo); no fim, gotas_criadas = 20, gotas_no_chao = 20 e nenhum clone sobra.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| Uma gota parada no meio | o original não está escondido | "esconda" logo após a bandeira |
| As gotas não aparecem | falta "mostre" no roteiro do clone (os clones nascem escondidos como o original) | colocar "mostre" |
| O jogo fica lento com o tempo | clones não são apagados | "apague este clone" no fim |
| Nascem clones demais de uma vez | "crie clone" dentro do roteiro do clone, ou sem "espere" | só o original cria; use "espere" |
gotas_criadas passa de 20 | clicou na bandeira duas vezes rápido | normal: são duas chuvas; o contador zera na bandeira |
Exercício guiado
Faça cada gota cair com velocidade sorteada entre 3 e 9. Dica: uma variável só para este ator chamada velocidade (na janela Nova Variável, opção Apenas para este ator: cada clone fica com a sua).
Desafio individual
Adicione o gato embaixo, andando com as setas. Gota que toca no gato vale 1 ponto e é apagada na hora. (Agora você tem um Caça-Estrelas com várias estrelas ao mesmo tempo.)
Desafio avançado (opcional)
Faça a chuva nunca parar: troque "repita (20) vezes" por "sempre" e diminua o "espere" a cada 10 gotas, até um mínimo de 0.05.
Critérios de avaliação
- 20 gotas criadas, 20 no chão, nenhuma sobrando.
- O aluno explica a diferença entre o original e o clone.
Checklist de conclusão
Extensão
Liste três jogos que você conhece e diga o que neles provavelmente é feito com clones.