Alguém poderia me explicar por que quando eu escrevi :
ybolinha + raio > yRaquete + alturaRaquete
A bolinha ficava atravessando a Raquete.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Alguém poderia me explicar por que quando eu escrevi :
ybolinha + raio > yRaquete + alturaRaquete
A bolinha ficava atravessando a Raquete.
Olá João! Tudo bem?
A função que foi passada em aula, você passa dois parâmetros nela, x e y. Ela verifica a colisão com as duas raquetes.
A função ficou assim:
function colisaoMinhaRaqueteBiblioteca(x,y){ colidiu = collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBolinha, yBolinha, raioBolinha); if (colidiu){ velocidadeXBolinha *= -1; raquetada.play(); } }
Na hora de chamar essa função, você tem que se atentar nos parâmetros que vai colocar. Quando chamar a função, ela deve ficar desse jeito:
colisaoMinhaRaqueteBiblioteca(xRaquete, yRaquete); colisaoMinhaRaqueteBiblioteca(xRaqueteOponente, yRaqueteOponente);
Perceba que a primeira chamada, a gente passa o x e y da nossa raquete. Na segunda, colocamos o x e y da raquete do oponente.
Acredito que com essas alterações, deva funcionar seu código.
Obs.: Lembrando que você tem que baixar o arquivo com o código de colisão (p5.collid2d.js) e chama-lo no index.
Espero ter ajudado.