Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Bolinha atravessa a raquete

Olá fiz tudo que é dito e escrito na aula, inclusive baixei o p5.collide2D, mas a bolinha atravessa a raquete!

https://editor.p5js.org/Rafael_BS17/sketches/KK4y7uGtW

1 resposta
solução!

Oi, José! Tudo certo por aí?

A bolinha está atravessando a raquete, pois na função colisaoMinhaRaqueteBiblioteca() a variável Colidiu, que retorna se houve ou não a colisão, está sendo iniciada com letra maiúscula. Contudo, no bloco condicional, ela é chamada com letra minúscula. Por esse motivo, mesmo que a colisão aconteça, o if não irá reconhecê-la (visto que ele estará verificando uma variável que não existe) e, portanto, a bolinha não terá seu sentido alterado após colidir com a raquete, fazendo com que ela a travesse.

Para solucionar isso, podemos alterar o nome da variável Colidiu, deixando-a com todas as letras minúsculas, este é um padrão da linguagem Javascript. Abaixo, o código completo da função com a mudança:

function colisaoMinhaRaqueteBiblioteca() {
  colidiu = 
  collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
  if (colidiu){
    velocidadexBolinha *= -1;
  }
}

Desse modo, a bolinha volta a se colidir normalmente com a raquete!

Caso queira saber um pouco mais sobre a mudança de letra maiúscula para minúscula e sobre convenções de nomenclatura na programação, deixo como sugestão a leitura de um artigo super interessante da Alura:

Espero ter ajudado, José! Caso surja outra dúvida, fico à disposição para ajudá-lo no que for preciso!

Grande abraço e até mais.

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