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

bug colisão raquete inimiga

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.

1 resposta
solução!

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!

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