Olá, Fernando! Como vai?
Antes de mais nada, perdão em demorar a lhe responder.
Tomei a liberdade em editar o seu tópico, utilizando o Markdown. Ao postar um código, basta clicar no sétimo ícone das opções na barra de ferramentas do fórum e inserir seu código entre os acentos. Caso te interesse, temos um artigo bem legal sobre isso aqui.
Vamos à dúvida!
Rodei o seu código e notei que ao tocar na raquete a bolinha ultrapassa ela, certo? A razão disso é: uma variável com um errinho.
dentro do seu if (colidiu) {
velocidadeyBolinha *= -1
}
, não utilizaremos a variável velocidadeyBolinha
, e sim a variável velocidadexBolinha
.
Portanto, seu código ficará desta forma:
function colisaoRaquete() {
if (xBolinha - raio < xRaquete + largRaquete
&& yBolinha - raio < yRaquete + altRaquete
&& yBolinha + raio > yRaquete) {
velocidadexBolinha *= -1;
}
}
function colisaoMinhaRaqueteBiblioteca() {
colidiu = collideRectCircle ( xRaquete, yRaquete, largRaquete, altRaquete, xBolinha, yBolinha, raio)
if (colidiu) {
velocidadexBolinha *= -1
}
}
Acredito que ao fazer essa mudança, seu jogo irá funcionar do modo correto. Caso ainda tenha dúvidas, sinta-se livre para perguntá-las.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.