1
resposta

Ordem do código não altera o funcionamento?

Olá,

Tive dúvida se o fato de a função ser definida no código após a utilização dela não pode influenciar o funcionamento do código em casos futuros.

O professor escreve a function "draw" referenciando funções que ainda não estão definidas:

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); }

function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); }

Para me ajudar a entender o que estou utilizando dentro do código, escrevi as funções logo após as definições das variáveis:

// variáveis da Bolinha let xBolinha = 300; let yBolinha = 200; let dBolinha = 20; let rBolinha = dBolinha / 2;

// velocidade da Bolinha let vXBolinha = 5; let vYBolinha = 6;

function mostraBolinha (){ circle(xBolinha,yBolinha,dBolinha); }

function moveBolinha (){ xBolinha += vXBolinha; yBolinha += vYBolinha; }

function setup() { createCanvas(600, 400); }

function verificaColisaoBorda(){ if (xBolinha+ rBolinha > width || xBolinha - rBolinha < 0){ vXBolinha *= -1; } if (yBolinha + rBolinha > height || yBolinha - rBolinha < 0){ vYBolinha *= -1; } }

function draw() { background(0); mostraBolinha(); moveBolinha(); verificaColisaoBorda();

}

Vi que rodou sem problemas mas queria saber se essa ordem pode influenciar códigos futuros.

Obrigado ;D

1 resposta

Olá, Fernando! Tudo certo?

JavaScript, da forma que está neste projeto, é síncrono. Isso significa cada linha é lida uma de cada vez. Você tem razão quando pergunta se a ordem irá interferir, porque realmente interfere. No entanto, é a ordem de chamada dessas funções que irá fazer a maior diferença.

E para chamar as funções no p5.js, você precisa inseri-las dentro da function draw()

O que pode causar conflito é a function setup() estar posicionada depois, pois ela sempre precisa ficar antes da draw() . Essa é a estrutura presente na própria documentação do p5.js mesmo.

Espero ter ajudado e fico à disposição em caso de dúvidas.

Um abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software