Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] function draw() na p5.js

"Dentro da draw() as ações são controladas com noLoop(), redraw() e loop(). Depois que noLoop() interrompe a execução do código em draw(), a redraw() faz com que o código dentro de draw() seja executado uma vez e loop() fará com que o código dentro de draw() retome a execução continuamente;"

Não entendi essa explicação em relação as ações. :(

3 respostas

Oi, Ester.

Pelo que entendi das funções, a draw() é a função padrão que executa o código (e não para, pois ela precisa sempre analisar se mudou alguma coisa, como alguém apertar um butão). Já a noLoop() faz a draw() parar (é só pensar que "no" é não em inglês e "loop" é algo que não para, assim como a função draw()). E as últimas duas funções fazem o código da draw() acontecer de novo, mas uma faz acontecer só uma vez e a outra faz acontecer em loop.

Espero ter ajudado :)

solução!

Oi, Ester

Primeiro que você só precisa do draw()

O draw() trabalha em loop (repetidamente)

Se você quiser manipular o draw(), temos 3 funções: noLoop(), redraw() e loop()

Primeiro você precisa para o draw() com o noLoop()

Depois você pode voltar o draw() com o loop()

Ou executar só mais uma o draw() com o redraw()

Ex.:

// Para o jogo, segurando o botão esquerdo do mouse 
function mousePressed() {
  noLoop(); // para o draw()
}

// Volta o jogo, soltando o botão esquerdo do mouse
function mouseReleased() {
  loop(); // volta o draw()
}

Exemplos de draw():

noLoop() com loop()

noLoop() com redraw()

Veja mais em Reference draw()