Repetindo Código com While Loops

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Muitas coisas na ciência da computação ou desenvolvimento de jogos muitas vezes se repetem. Por instância, um aplicativo pode atualizar o conteúdo em um feed a cada alguns segundos, ou um jogo pode recompensar os jogadores com um prêmio todos os dias que eles estiverem conectados. Para alcançar esse comportamento, os coders muitas vezes usam loops .

Na ciência da computação, um loop é um padrão de código que repete um conjunto de instruções, muitas vezes até que uma condição específica seja atendida. Para praticar isso, você vai codificar uma peça que muda as cores indefinidamente. As aulas posteriores mostrarão como parar o looping.

Configurando a Parte e o Script

Use qualquer projeto Roblox para este exercício. Quando terminar, esta parte pode ser usada como uma maneira de decorar um ambiente.

  1. Crie uma nova peça com um nome descritivo. Essa lição usa LoopingPart .

  2. Em ServerScriptService , adicione um novo script chamado LoopingScript.

  3. No script, delete Hello World and write a comentário statementando o propósito deste script.


    -- Changes the color of LoopingPart every few seconds

Usando Variáveis para Armazenar uma Peça

Variáveis também podem conter referências a objetos além de caracteres. Por exemplo, quando um script conhece a referência a uma parte, o script pode alterá-la.

Em vez de digitar workspace.NameOfYourPart uma e outra vez, toda essa linha pode ser armazenada dentro de uma variável local. Variáveis locais são criadas ao digitar local e depois o nome da variável.

Por exemplo: local nameOfVariable .

  1. Sob o comentar, crie uma variável local ao digitar local loopingPart.


    -- Muda a cor de LoopingPart a cada alguns segundos
    local loopingPart
  2. Defina a variável para a peça em looping por digitando = workspace.LoopingPart na mesma linha. Lembre-se de que o operador = define o valor de uma variável para o que estiver à direita dela.


    -- Muda a cor de LoopingPart a cada alguns segundos
    local loopingPart = workspace.LoopingPart

Enquanto Loops

Antes de criar o while loop para a peça que muda de cor, vale a pena explicar sua sintaxe. Um while loop tem três componentes:

  • A palavra-chave while.
  • Uma condição, sempre depois da palavra-chave.
  • Instruções, entre as palavras-chave do e end.

Em loops, as condições podem ser uma variedade de declarações lógicas. Alguns exemplos podem ser se dois números são iguais. Um loop será executado se sua condição for verdadeira.

Nota na amostra abaixo, a condição é verdadeira, o que significa que esse loop vai executar para sempre. Em leções posteriores, você vai codificar condições específicas que param.


while true do
print("This loop is running")
end

Código de um Loop de Enquanto

Em seguida, você configurará o while loop para a peça que muda de cor.

  1. Na próxima linha, digite while true do. Em seguida, pressione Enter para autocompletar e adicionar a palavra end.


    -- Muda a cor do loopingPart a cada alguns segundos
    local loopingPart = workspace.LoopingPart
    -- Código de Loop
    while true do
    end

Adicionando Código ao Loop

Com o while loop criado, instruções podem ser adicionadas para alterar a cor da peça ao longo do tempo. Dentro do loop, adicione uma linha de código para cada cor. Cada cor usará valores RGB, uma maneira de armazenar cores como números na ciência da computação.

  1. Entre while true do e end, definir a propriedade de cor da peça para Color3.fromRGB().


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB()
    end
  2. Configurar a cor pode ser feito usando um selecionador de cor no Studio. Para fazer isso, clique com o botão esquerdo dentro do () ao lado de fromRGB. Em seguida, clique no ícone de roda de cor. Depois de ter a cor desejada, pressione OK para adicionar automaticamente o valor da cor no código.


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    end

Fazendo o Script Esperar

Se você adicionar uma segunda linha de código de mudança de cor agora, isso mudaria a cor do blocotão rápido que você pode não ver a primeira cor passar. Para fazer o script esperar antes de executar a próxima linha de código, use uma função task.wait().

  1. Na linha depois de alterar a cor do tijolo, digite task.wait(3). Se o número colocado dentro do () for o número de segundos que o script vai esperar.


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    end
  2. Sob a função de espera, repita o mesmo processo de adicionar uma nova cor. Termine-o com uma função de espera adicional.


    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    loopingPart.Color = Color3.fromRGB(177, 52, 255)
    task.wait(3)
    end
  3. Teste o código e veja se as cores mudam.

Notas de Solução de Problemas Neste ponto, se a parte de mudança de cor não funcionar como deveria, tente uma das seguintes abaixo. Problema : Cores são pular

  • Certifique-se de que você tem uma função de espera entre cada mudança de cor, especialmente na última linha.

  • Verifique se todas as alterações de cor e aguarde código estão entre as seções while true do e end. Problema : A peça ainda está cinza ou não muda a cor como pretendido

  • Certifique-se de que todos os valores RGB têm números de 0 a 255, são inteiros ou decimais e são separados por vírgulas.

  • Os números dentro do () de uma função de espera devem ser maiores que 1. É possível que se a espera for muito pequena, você não consiga ver essa cor.

Complete o Script de Peça Loop de Cor


-- Crie uma variável para armazenar a peça
local loopingPart = workspace.LoopingPart
-- Código de Loop
while true do
-- Muda a cor de loopingPart
loopingPart.Color = Color3.fromRGB(82, 227, 255)
-- Aguarde 3 segundos antes da próxima instrução
task.wait(3)
loopingPart.Color = Color3.fromRGB(177, 52, 255)
task.wait(3)
end

Visão Geral

Loop é um elemento comum em muitos idiomas de computador. Eles são usados para repetir instruções, às vezes até que condições específicas sejam atendidas. Neste artigo, o while loop é usado para repetir instruções para sempre. Para criar um while loop que repete para sempre, use a sintaxe abaixo, certificando-se de incluir instruções entre as palavras-chave do e end.


while true do
-- Instruções
end