Robotomia · Roblox · Aula 7
0 de 20 passos prontos
Aula 7 · repetição

O martelo que gira

Uma barra que roda sem parar e derruba quem estiver na frente. Hoje o código aprende a repetir. São 20 passos, 50 minutos. Faça um de cada vez e só passe adiante depois de conferir o quadro verde.

Antes de digitarO passo 2 desta aula prepara o editor: desligar o assistente de código e o fechamento automático. Não pule — sem isso o editor escreve linhas que você não pediu.
Projeto novoComeça do zero, com uma peça só.
Cuidado com o laçowhile true do repete para sempre. Sem o task.wait lá dentro, o Studio trava. Essa linha não é opcional.
AtalhosEste material usa Ctrl, do Windows. Num Mac, troque Ctrl por ⌘.
⤓ Baixar esta aula em PDF (para imprimir)
1

Abra o Studio e escolha BASEPLATE

Tela do Roblox Studio no passo 1

Foto da tela.

Projeto novo. Role a página para baixo até a fileira Abrir um modelo e clique no primeiro, o Baseplate.

Está certo seAbriu o mundo cinza.
Não deu certo?
Abriu o projeto antigo
Feche a aba e volte para o Início.
Apareceu uma janelinha de Boas-vindas por cima
Clique em Voltar ao início, o botão da esquerda — ou no ✕ do canto. Não clique em Iniciar a introdução.
2

Prepare o editor (uma vez em cada computador)

Tela do Roblox Studio no passo 2

Foto da tela.

Hoje você vai digitar código. O Studio vem com duas ajudas que atrapalham quem está aprendendo: ele sugere linhas inteiras e fecha parênteses e aspas sozinho. Vamos desligar as duas.

No Windows: Arquivo → Configurações do Studio. No Mac: Roblox Studio → Configurações do Studio.

1. Na busca escreva assist e desmarque Ativar assistente de código.
2. Apague a busca, escreva fechamento e desmarque Colchetes de fechamento automáticos e Aspas de fechamento automáticas.

Feche a janela. Fica guardado no computador — se você já fez isto numa aula passada neste mesmo computador, é só conferir que as caixinhas continuam vazias.

Está certo seAs três caixinhas estão vazias: assistente de código, colchetes e aspas.
Não deu certo?
Não acho Configurações do Studio
No Windows é o menu Arquivo, bem no canto de cima à esquerda da janela.
A busca não acha nada
Escreva só assist, sem acento e sem mais nada.
Já está tudo desmarcado
Ótimo — este computador já foi preparado. Feche a janela e siga.
Por que desligar?
Ligado, o editor escreve linhas que você não pediu, e o Tab aceita a sugestão em vez de recuar. Desligado, o que está escrito na aula é exatamente o que você digita.
3

Vá para a aba MODELO

Animação do passo 3

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique em Modelo.

Está certo seAparecem Parte, Cor e Âncora.
Não deu certo?
Não acho
Fica entre Script e Plugins.
4

Crie a peça

Animação do passo 4

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique no desenho do Parte. Depois clique no nome na lista, ponha o mouse no mundo 3D e aperte F, depois S algumas vezes.

Está certo seA peça está no meio da tela.
Não deu certo?
Nada aconteceu
Você clicou na palavra, não no desenho.
5

Ancore

Animação do passo 5

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique em Âncora.

Hoje a âncora é ainda mais importante: a peça vai girar, e peça girando sem âncora sai voando.

Está certo seO botão ficou aceso.
Não deu certo?
Não sei se ancorou
Busque anchor nas Propriedades.
6

Faça uma barra comprida

Animação do passo 6

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Busca das Propriedades → size → duplo clique no valor → Ctrl + A → 26, 1, 2 → Enter.

Depois busque position e ponha 0, 4, -14: a barra fica na altura da cintura, uns passos à frente de onde você nasce.

Está certo seTem uma barra comprida e fina flutuando na sua frente.
Não deu certo?
Só mudou um número
Faltou o Ctrl + A antes de escrever.
A barra ficou no chão
O número do meio é a altura. Use 0, 4, -14.
Aparecem três linhas Position
Use a primeira, embaixo de CFrame.
Sumiu tudo do meu mundo!
Ctrl + Z várias vezes até tudo voltar. Isso acontece quando o Ctrl + A pega a lista de peças em vez do campo de texto, e aí o Delete apaga as peças. Depois do Ctrl + A, digite os números — nunca aperte Delete.
7

Pinte

Animação do passo 7

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Setinha do Cor → amarelo → clique no círculo do botão Cor.

Amarelo é cor de aviso. Combina com uma coisa que vai te derrubar.

Está certo seA barra ficou amarela.
Não deu certo?
Não pintou
Falta o clique no círculo do botão Cor.
8

Chame de MARTELO

Animação do passo 8

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Botão direito na peça, na lista → Renomear → Martelo → Enter.

Está certo seNa lista está Martelo.
Não deu certo?
Voltou o nome antigo
Termine com Enter.
9

Ponha o Script dentro dele

Animação do passo 9

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique em Martelo na lista, clique no + e escolha Script.

Está certo seO Script está para dentro de Martelo e o editor abriu.
Não deu certo?
Ficou fora
Arraste-o por cima da palavra Martelo na lista.
10

Apague a linha pronta

Tela do Roblox Studio no passo 10

Foto da tela.

Apague o print("Hello world!") inteiro: clique no fim da linha e segure Backspace.

Está certo seA linha 1 está vazia.
Não deu certo?
Sumiu a aba do script
Duplo clique no Script na lista.
11

Escreva o laço

Tela do Roblox Studio no passo 11

Foto da tela.

Seis linhas. As duas do meio entram para dentro — o editor faz isso sozinho.

⌨ digite você mesmo — não copie
  1. local martelo = script.Parent
  2. while true do
  3. martelo.CFrame = martelo.CFrame * CFrame.Angles(0, 0.05, 0)
  4. task.wait(0.03)
  5. end
as linhas em cinza o editor escreve sozinho — não digite elas

Repare que este código não tem Touched. Ele não espera nada acontecer — ele age sozinho, o tempo todo.

Não digite as linhas em cinza. O editor escreve os end sozinho quando você aperta Enter. E não aperte Tab — ele já empurra as linhas para dentro.

Está certo seNenhum risco vermelho, e o editor desenhou a linha vertical ligando o while ao end.
Não deu certo?
Sobraram end a mais
Você digitou os que o editor já tinha escrito. Apague os extras até o código ficar igual ao da aula.
Risco vermelho no fim
Falta o end. Este laço termina com end sozinho, sem parêntese — diferente dos anteriores.
Escrevi CFrame errado
São dois maiúsculos: C e F. CFrame.Angles também.
O editor completa sozinho
Aperte Esc para dispensar a sugestão.
Apareceu uma caixinha cinza com sugestões
É o editor tentando adivinhar. Aperte Esc para fechá-la e continue digitando. Se você apertar Enter com ela aberta, ele escreve a sugestão no lugar do que você ia escrever.
12

Entenda o laço

Tela do Roblox Studio no passo 12

Foto da tela.

while true do … end — “enquanto for verdade, faça isto”. E true é sempre verdade. Então: faça isto para sempre.

Tudo que estiver entre o do e o end se repete sem parar.

martelo.CFrame = martelo.CFrame * CFrame.Angles(0, 0.05, 0) — “pegue onde a peça está e gire um tiquinho”. O 0.05 é o tamanho do tiquinho.

task.wait(0.03) — espere trinta milésimos de segundo antes de repetir.

Está certo seVocê sabe dizer qual linha faz o martelo girar mais rápido.
Não deu certo?
Qual muda a velocidade?
Duas: aumentar o 0.05 gira mais por vez; diminuir o 0.03 repete mais vezes por segundo.
13

Por que o task.wait é obrigatório

Tela do Roblox Studio no passo 13

Foto da tela.

Um laço while true sem espera roda milhões de vezes por segundo. O computador não dá conta e o Studio congela.

O task.wait é o que dá um respiro. É a linha mais importante do código de hoje, e é a que todo mundo esquece.

Não teste sem ela. Se travar, feche o Studio pelo gerenciador de tarefas e perca tudo o que não salvou.

Está certo seVocê tem o task.wait(0.03) dentro do laço, antes do end.
Não deu certo?
Já travou aqui
Feche o Studio à força e abra de novo. Da próxima vez, salve antes de testar um laço.
14

Jogue

Animação do passo 14

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Volte para Place1 e aperte o ▶.

A barra amarela começa a girar sozinha, sem você fazer nada.

Está certo seA barra está girando em volta do próprio meio, sem parar.
Não deu certo?
Não gira
Confira se o Script está dentro do Martelo e se não sobrou risco vermelho.
O Studio travou
Faltou o task.wait. Feche à força e refaça.
A barra caiu
Faltou ancorar.
15

Tome uma paulada

Tela do Roblox Studio no passo 15

Foto da tela.

Ande até a barra e deixe ela te acertar.

Você é arremessado. Não precisou de nenhum código para isso: no Roblox, peça sólida que se mexe empurra o que estiver na frente.

Está certo seVocê foi jogado longe pela barra.
Não deu certo?
Ela atravessa meu boneco
A peça está com CanCollide desligado. Marque a caixinha nas Propriedades.
Ela passa por cima da minha cabeça
Diminua a altura: position 0, 3, -14.
16

Mude a velocidade

Tela do Roblox Studio no passo 16

Foto da tela.

Pare o jogo. Troque o 0.05 por 0.2 e jogue de novo.

Depois volte para 0.01. Sinta a diferença.

Está certo seVocê testou pelo menos duas velocidades diferentes.
Não deu certo?
Ficou rápido demais e não dá para passar
É esse o ponto. Escolha um número que dê para atravessar com esforço.
Mudei e nada aconteceu
Você mudou com o jogo rodando. Pare, mude, jogue de novo.
17

Gire para o outro lado

Tela do Roblox Studio no passo 17

Foto da tela.

Ponha um sinal de menos: CFrame.Angles(0, -0.05, 0).

O martelo passa a girar no sentido contrário.

Está certo seA barra gira para o outro lado.
Não deu certo?
Não mudou nada
Você esqueceu de parar e jogar de novo.
18

Gire em outro eixo

Tela do Roblox Studio no passo 18

Foto da tela.

Na linha do CFrame, tire o 0.05 do meio e ponha no lugar do primeiro número. A linha fica assim:

martelo.CFrame = martelo.CFrame * CFrame.Angles(0.05, 0, 0)

Agora a barra cambalhota para a frente, em vez de girar como um relógio.

O primeiro número gira num eixo diferente. Experimente mudar qual dos três números não é zero e veja o que acontece com cada um.

Está certo seVocê descobriu, testando, o que cada um dos três números faz.
Não deu certo?
Todos parecem iguais
Teste um de cada vez, com os outros dois em zero. A diferença fica clara.
A peça sumiu
Ela girou para um lugar estranho. Pare o jogo — ela volta ao normal.
19

Dois martelos

Tela do Roblox Studio no passo 19

Foto da tela.

Com o jogo parado: botão direito no Martelo → Duplicar. Mude a position da cópia para 0, 4, -26.

A cópia já vem com o script dentro e gira sozinha. Agora são dois obstáculos em fila.

Está certo seDois martelos girando, um depois do outro.
Não deu certo?
Os dois giram igualzinho
Mude o número de um deles para eles ficarem fora de sincronia. Fica bem mais difícil.
A cópia não gira
Você duplicou antes de pôr o script. Apague e duplique o que tem o Script dentro.
20

Salve

Tela do Roblox Studio no passo 20

Foto da tela.

Ctrl + S → Salvar em arquivo → nome martelo.

Com laço no jogo, salve antes de testar. Sempre.

Está certo seSalvou sem erro.
Não deu certo?
Por que antes de testar?
Porque laço mal escrito congela o Studio, e aí só fechando à força.

Acabou a Aula 7. Você escreveu um laço: um pedaço de código que roda para sempre. É o que faz porta automática, esteira, dia e noite — qualquer coisa que se mexe sozinha.