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

Exercício realizado.

let xBolinha = 300;

let yBolinha = 200;

let diametro = 25;

let raio = diametro / 2;

let velocidadeXBolinha = 6;

let velocidadeYBolinha = 6;

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

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

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

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

function verificaColisaoBorda(){ if (xBolinha + raio > width || xBolinha - raio < 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio > height || yBolinha - raio < 0) { velocidadeYBolinha = -1; } }

2 respostas
solução!

Olá, Marcelo! Como está?

Testei seu código no meu p5.js e observei que falta um pequeno detalhe na function verificaColisaoBorda(). Você esqueceu de inserir a instrutção de multiplicação e a bolinha não mudava sua direção. Vou deixar aqui o código com a inserção da instrução para você testar no seu projeto, tudo bem?

function verificaColisaoBorda(){
  if (xBolinha + raio > width || xBolinha - raio < 0){
    velocidadeXBolinha *= -1;
 }
  if (yBolinha + raio > height || yBolinha - raio < 0) {
    velocidadeYBolinha *= -1; //bem aqui você precisa inserir a multiplicação para atingir o comportamento esperado
  }
}

Outra dica bacana é utilizar a ferramenta inserir bloco de código aqui do fórum. Assim seu código ficará indentado e possibilitará a verificação de erros com mais rapidez. Vou deixar também um link que redireciona para um tópico que ensina sua utilização: Link com tutorial para usar botão inserir bloco de código:

Espero que as informações tenham ajudado!

Um abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Olá Camila, obrigado pelo retorno. Muito obrigado!!!!

function verificaColisaoBorda(){
  if (xBolinha + raio> width ||
     xBolinha - raio< 0){
    velocidadeXBolinha *= -1;
  }
  if (yBolinha + raio> height ||
     yBolinha - raio < 0){
    velocidadeYBolinha *= -1;
  }
}