Por algum motivo a questão de colisão que o gui ensinou na aula n funciona pra raquete inimiga que fiz, n sei se fiz algo de errado//https://editor.p5js.org/Tonidxd/sketches/V9mGELppN aí o link do meu código.
Por algum motivo a questão de colisão que o gui ensinou na aula n funciona pra raquete inimiga que fiz, n sei se fiz algo de errado//https://editor.p5js.org/Tonidxd/sketches/V9mGELppN aí o link do meu código.
Oi, Antônio! Tudo bem?
Podemos notar que na função colisaoRaqueteInimigaBiblioteca
, responsável pela colisão entre a bolinha e a raquete do inimigo, as variáveis fornecidas correspondem à raquete do jogador (xRectP,yRectP,wRectP,hRectP) e não à raquete do inimigo. Além disso, podemos observar também que o sentido da velocidadeXBolinha
não está sendo alterado pois ele está sendo multiplicado por 1, e qualquer valor multiplicado por 1 resulta nele mesmo. Como podemos observar no trecho de código abaixo:
function colisaoRaqueteInimigaBiblioteca(){
colidiu = collideRectCircle(xRectP,yRectP,wRectP,hRectP,xBolinha,yBolinha, raio);
if (colidiu){
velocidadeXBolinha *= +1;
}
}
Para conseguirmos, então, fazer com que a colisão aconteça precisamos trocar as variáveis do jogador (xRectP,yRectP,wRectP,hRectP) por as variáveis do inimigo (xRectI,yRectI,wRectI,hRectI). Somado à isso, para inverter o sentido de movimento da bolinha ao colidir com a raquete precisamos multiplicar o valor da velocidadeXBolinha
por -1, deixando o código da função da seguinte maneira:
function colisaoRaqueteInimigaBiblioteca(){
colidiu = collideRectCircle(xRectI,yRectI,wRectI,hRectI,xBolinha,yBolinha, raio);
if (colidiu){
velocidadeXBolinha *= -1;
}
}
Espero ter ajudado! Qualquer dúvida se sinta à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!