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

Uma duvida sobre o Function.

Ola vi que o Porfessor reatribui cada elemento para os comandos para function.

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

function draw() { background(0); mostrarBola(); movimentarBola(); verificarBorda();}

function mostrarBola() {circle (xBola,yBola,dDiametro);}

function movimentarBola () {xBola += velocidadeXBola; yBola += velocidadeyBola;}

function verificarBorda(){ if (xBola + raio > width || xBola - raio < 0){ velocidadeXBola *= -1; }

if (yBola + raio > height || yBola - raio < 0){ velocidadeyBola *= - 1; }}

Oque gostaria de saber e se o jeito anterior esta errado ? 
2 respostas
solução!

Olá Zalmir!

O código apresentado não está necessariamente errado, mas pode ser otimizado para melhorar sua legibilidade e organização. Atualmente, as funções mostrarBola(), movimentarBola() e verificarBorda() estão declaradas separadamente fora da função draw(). Embora funcione dessa maneira, o professor provavelmente está sugerindo uma reatribuição dos comandos diretamente dentro da função draw(), o que torna o código mais compacto e mais fácil de ler.

Aqui está o código otimizado com os comandos dentro da função draw():

let xBola = 300;
let yBola = 200;
let raio = 20;
let velocidadeXBola = 5;
let velocidadeyBola = 5;
let dDiametro = raio * 2;

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

function draw() {
  background(0);
  circle(xBola, yBola, dDiametro);
  
  xBola += velocidadeXBola;
  yBola += velocidadeyBola;
  
  if (xBola + raio > width || xBola - raio < 0) {
    velocidadeXBola *= -1;
  }
  
  if (yBola + raio > height || yBola - raio < 0) {
    velocidadeyBola *= -1;
  }
}

Neste código, os comandos das funções mostrarBola(), movimentarBola() e verificarBorda() foram movidos diretamente para a função draw(). Essa abordagem é válida e pode ser mais clara em projetos pequenos como este.

No entanto, se o seu projeto estiver se tornando maior e mais complexo, você pode optar por manter as funções separadas para manter o código mais organizado e facilitar a manutenção. A escolha entre essas abordagens depende da preferência pessoal e das necessidades específicas do seu projeto. Ambas as formas são aceitáveis e funcionarão corretamente.vvvvvvvvv

valeu amigo obrigado Estudante .