1
resposta

Movimento Bolinha

Boa tarde,

Estava comparando o código em Javascript com o Scratch e fiquei com uma dúvida: no Scratch tivemos que usar o loop "sempre" para movimentar a bolinha indefinidamente.

No Javascript, no entanto, a função draw não utiliza (pelo menos de forma expressa) esse tipo de loop.

Assim, considerando que a váriável vyBolinha foi definida como um valor fixo (vyBolinha = 6) no JS não deveríamos ver a bolinha se movimentanto uma única vez ( yBolinha = 200 para yBolinha = 206) ? Como funciona exatamente a função draw()?

Desde já agradeço a ajuda.

1 resposta

Olá Carolina, faz tempo que já fiz esse curso então não me recordo muito bem mas tentarei ajudar. Na realidade essa função draw() é da plataforma p5.js, como a função preload() e setup(), diferente dessas duas a função draw() fica atualizando o tempo inteiro, como se estivesse dentro de um loop infinito, nunca vi o código fonte da função mas acredito que ela está sim dentro de um loop infinito. Dessa forma quando a função draw() chama outras funções como a movimentaBolinha(), ela eestá sendo chamada constantemente. Código de função movimentaBolinha():

function movimentaBolinha(){
         xBolinha += velocidadeXBolinha;
         yBolinha += velocidadeYBolinha;
}

Dessa forma, com a vyBolinha sendo definida como 6, fpo onde o instrutor decidiu que a velocidade da bolinha seria 6, por velocidade ele quis dizer a quantidade de casas no canva ela iria se movimentar a cada atualização do draw(), assim, alterando o valor de xBolinha e yBolinha. Espero ter ajudado!