Divulgação completa: eu odeio loops while. Levei muito tempo para entendê-los, mas acho que finalmente entendi seu propósito.
No começo, toda vez que eu tentava escrever meu próprio loop while, travava o After Effects imediatamente. Agora que tenho um pouco mais de conhecimento sobre o que deu errado, quero escrever o que é um loop while, quando usá-lo e como você pode incorporá-lo em suas expressões do After Effects sem travar seu projeto (lembre-se de salvar regularmente, pessoas).while Loops Vs instruções if
"Executa enquanto a expressão for verdadeira" - isso soa um pouco como uma instrução if, não é?
uma vez, e apenas uma vez.
No entanto, se você alterasse paraesta, descobriria que o After Effects travava quase imediatamente:
é um loop, então ele executa o comando repetidamente se a afirmação for verdadeira. Contanto que o cursor esteja nos primeiros 2 segundos da linha do tempo, o loop while fará um loop infinitamente. Não é exatamente o ideal e certamente não é o que estávamos tentando alcançar! É importante ter certeza de que seu loop while eventualmente se tornará falso, para evitar esses loops infinitos.
Para obter mais informações sobre instruções if, consulte meu artigo anterior aqui.enquanto Loops Vs para Loops
Um loop for funciona com 3 argumentos e é ideal quando você
sabe quantas vezes precisa repetir seus comandos.
Veja este exemplo, gerando números aleatórios:
if (time Depois de configurar minhas variáveis, o loop começa com let i = 0, definindo o primeiro argumento que executauma vez. Então, time >= i/2 estabelece com que frequência o loop deve ser executado. Definir o loop dessa maneira significa que ele será executado duas vezes por segundo, porque o tempo precisa ser maior ou igual à metade de i. Finalmente, o terceiro argumento será executado todas as vezes após a execução do loop. Neste caso, o valor de i aumenta em 1.
Executar esta expressão novamente na propriedade Texto Fonte de uma camada de texto exibirá um número aleatório entre 1 e 5 duas vezes a cada segundo.Para obter mais informações sobre loops for, consulte meu artigo anterior aqui.
Um loop while é melhor usado quando você
não sabe quantas vezes seu loop precisará ser executado. Por causa disso, descobri que eles não funcionam bem com expressões que envolvem tempo como os loops for, funcionam tão bem, pois prendem você naqueles incômodos loops infinitos. Então, quando
devemosusar loops while? Quando usar loops while
Tendo tudo isso em mente, um loop while deve ser usado nestas condições:
Precisamos executar a expressão mais de uma vez
Vejamos o seguinte código:
//variáveis
deixe contador = 0;
seja num = 0;
deixe numArray = [];
//Para loop
for (seja i = 0; tempo >= i/2; i ) {
seedRandom(contador, atemporal = verdadeiro);
num = Math.floor(random(1, 6));
//While loop dentro do loop For
while (num == numArray[contador - 1]) {
num = Math.floor(random(1, 6));
}
numArray.push(num);
contador
}
//retornar
numArray[contador - 1]
//variables let counter = 0; let num = 0; let numArray = []; //For loop for (let i = 0; time >= i/2; i ) { seedRandom(counter, timeless = true); num = Math.floor(random(1, 6)); //While loop inside of For loop while (num == numArray[counter - 1]) { num = Math.floor(random(1, 6)); } numArray.push(num); counter } //return numArray[counter - 1]
Porque eu
posso ter que gerar um novo número aleatório mais de uma vez, uma instrução if não funciona aqui. E porque eu
não sei quantas vezes precisarei atualizar o número aleatório, o número de loops também é um mistério: então um loop for também não é bom aqui. Portanto, um loop while é minha melhor opção. Ele será executado quantas vezes eu precisar,
até que o argumento dentro dele seja falso, o que certamente acontecerá enquanto a função random() gerar um número que não corresponda ao anterior. Conclusão
Você achou isso útil? Você tem um exemplo de uso de um loop while em seu projeto? Eu entendi algo errado? Por favor, deixe-me um comentário e me avise.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3