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

chamando a função

Boa tarde, percebi que nesses códigos a gente apenas cria a função, mas não chamamos ela para ser executada e mesmo assim o programa funciona. O correto não seria chamar essas funções fora da função draw? ou depois chamar a propria função draw ?

3 respostas

Boa noite Marcos, tudo bem?

O correto é chamar cada função, em sua respectiva ordem, dentro da function draw(). O que pode estar acontecendo é que ao criar cada função específica você copiou e colou o código dentro da nova função, nesse caso ele está ao mesmo tempo dentro da function draw() e da function bolinha(), por exemplo. Isso garante que tudo ocorra normalmente, visto que o código continua na linha original, mas ao mesmo tempo esteja duplicado e a function bolinha() não está sendo utilizada.

Espero ter ajudado.

Por exemplo: chamamos todas as funçoes dentro da função draw(), correto? e a função draw()? não vamos chamar essa função para que todas as outras sejam chamadas? Não sei se deu pra entender minha duvida... =/

solução!

Olá, Marcos! Como vai você?

Sua dúvida é muito pertinente e está diretamente relacionada ao funcionamento da biblioteca do p5.js. Você tem razão, ao declararmos uma função, precisamos chamá-la para que ela funcione corretamente (em javascript mais puro). No entanto, devido ao formato da biblioteca p5.js, temos a possibilidade de chamarmos as funções dentro da function draw().

Dessa forma, para compreendermos melhor, precisamos entender o que é o P5 e como ele funciona, vamos lá?

 

P5.js


 

p5.js é uma biblioteca JavaScript para codificação criativa com foco em tornar a codificação acessível e inclusiva para artistas, designers, >educadores, iniciantes e qualquer outra pessoa! O p5.js é gratuito e de código aberto porque acreditamos que o software e as ferramentas >para aprendê-lo devem ser acessíveis a todos.

Usando a metáfora de um sketch, p5.js tem um conjunto completo de funcionalidades de desenho. No entanto, você não está limitado à sua >tela de desenho. Você pode pensar em toda a página do navegador como um esboço/sketch, incluindo objetos HTML5 para texto, entrada, >vídeo, webcam e som.

Mas o que isso significa?

Devido ao p5.js ter sido desenvolvido para ser acessível, a biblioteca vem com inúmeras funções pré-prontas, justamente para facilitar o processo de escrita do código. Sendo assim, a função draw() é uma dessas soluções que já estão incluídas na biblioteca para facilitar a vida do desenvolvedor. E como a função draw() funciona?

 

function draw()


 

Chamada diretamente após setup (), a função draw () executa continuamente as linhas de código contidas em seu bloco até que o programa seja interrompido ou noLoop () seja chamada. A draw () é chamada automaticamente e nunca deve ser chamada explicitamente.

Deve sempre ser controlada com noLoop(), redraw() e loop(). Depois que noLoop() interrompe a execução do código em draw(), 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. (...)

Só pode haver uma função draw() para cada sketch, e draw() deve existir se você quiser que o código seja executado continuamente ou para processar eventos como mousePressed(). Às vezes, você pode ter uma chamada vazia para draw() em seu programa, (...)

(...)

 

Mas o que isso significa?

A function draw() é a função que faz a "mágica acontecer". E essa função já pré-pronta na biblioteca p5.js que irá desenhar os elementos no ambiente de visualização. Um aspecto interessante da função é que ela funciona como se possuísse um loop , o que faz com que o código escrito em seu escopo seja executado continuamente.

E é por isso que chamamos as funções de desenho em seu interior :) Da mesma forma funciona a preload(), que faz o pré-carregamento de arquivos ou a setup(), que são as configurações iniciais, pois se fossemos utilizar apenas o JavaScript mais puro, certamente o trabalho seria maior.

 


 

Vou deixar aqui os links que redirecionam para a fonte de informações, que é a sessão de referência do p5.js