1
resposta

[Dúvida] Bola desaparece

Quando a bolinha colide na raquete oponente ela some e aparece saindo dentro da mesma. Acho q o problema está na colisão poderiam me ajudar?

function colisaoRac(){

  if(xBolinha - raio < xRaquete + larguraRac && yBolinha - raio < yRaquete + alturaRac && yBolinha + raio > yRaquete){

    xBolinha *= -1
  }

  if(xBolinha + raio > xRaquete2 + larguraRac2 && yBolinha - raio < yRaquete2 + alturaRac2 && yBolinha + raio > yRaquete2){

    xBolinha *= -1
  }
}
1 resposta

Olá Selton, tudo certo?

Agradeço a paciência em aguardar uma resposta para a sua dúvida.

O fato de a bolinha estar desaparecendo pode estar acontecendo de diversas formas, e com base no seu código era pra estar acontecendo de forma correta.

Contudo para que eu possa lhe auxiliar de forma mais precisa nesse caso, gostaria que você estivesse compartilhando o link do seu projeto, pois o que pode estar fazendo com que sua bolinha desapareça pode ser outro fator.

Vou estar deixando o passo a passo de como você pode estar fazendo isso:

Abra o menu file na parte superior direita da tela e selecione a opção share:

Recorte de captura de tela do P5js. O menu file foi selecionado, e abaixo a terceira opção, share, está destacada em rosa

E então copie o link da opção edit, e cole aqui no fórum:

Recorte de captura de tela do p5js. Uma janela cinza com título Share, e logo abaixo, o nome do projeto. Há três opções de link. Embeb, Fullscreen e Edit. A última, edit, está destacada em vermelho


Porém, esse código de colisão acaba ficando um pouco limitado, imagino que você não tenha avançado no curso, por conta de que numa parte mais avançada dele o professor faz a importação de uma biblioteca que contém essa funcionalidade de colisão que vai adicionar uma melhoria na nossa função, como é mostrado no código a baixo:

function verificaColisaoRaquete(x, y) {
    colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
    if (colidiu){
        velocidadeXbolinha *= -1;
      raquetada.play();
    }

}

Onde é passado os parâmetros necessarios para ela que depois a mesma vai funcionar como condigção de colisão.

No mais estou no aguardo do seu retorno, e caso tenha mais dúvidas refente a tudo que foi comentado vou estar a sua disposição.