1
resposta

Bolinha passando direto na parede

Insira aqui a descrição dessa imagem para ajudar na acessibilidade let xBolinha=300;

let yBolinha=200;
let diametro=15;
let velocidadeXBolinha=6;
let velocidadeYBolinha=6;

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

function draw() {
  background(0);
  circle(xBolinha ,yBolinha ,diametro);
  xBolinha +=velocidadeXBolinha;
  //yBolinha += velocidadeYBolinha;

if(xBolinha > width ||
   xBolinha < 0){
  velocidadeXBolinha *= -1;
  }

A bolinha não esta colidindo na parede e voltando,ela passa direto ,onde estou errando ?

1 resposta

Olá Erica, tudo bem? Espero que sim!

O trecho de código fornecido está faltando algumas partes essenciais para lidar com a colisão da bolinha.

Aqui está um exemplo de como você pode fazer a bolinha colidir com as paredes:

let xBolinha = 200;
let yBolinha = 200;
let diametro = 15;
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

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

function draw() {
  background(0);
  circle(xBolinha, yBolinha, diametro);
  xBolinha += velocidadeXBolinha;
  yBolinha += velocidadeYBolinha;

  // Verificar colisão com as paredes horizontais
  if (xBolinha + diametro / 2 > width || xBolinha - diametro / 2 < 0) {
    velocidadeXBolinha *= -1;
  }

  // Verificar colisão com as paredes verticais
  if (yBolinha + diametro / 2 > height || yBolinha - diametro / 2 < 0) {
    velocidadeYBolinha *= -1;
  }
}

Nesse exemplo, o código verifica se a posição da bolinha (xBolinha e yBolinha) está além dos limites do canvas em cada direção (horizontal e vertical). Se a bolinha ultrapassar esses limites, as velocidades horizontal (velocidadeXBolinha) e vertical (velocidadeYBolinha) são invertidas, causando a mudança de direção.

Certifique-se de ter importado corretamente a biblioteca p5.js e de que o seu código está dentro das funções setup() e draw(). Além disso, ajuste o tamanho do canvas (createCanvas()) e as velocidades da bolinha (velocidadeXBolinha e velocidadeYBolinha) de acordo com as suas necessidades.

Espero ter ajudado!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!

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