2
respostas

Minha bolinha não colide coma a raquete

Já revisei várias vezes e não consigo achar o erro que não deixa a bolinha colidir com a raquete https://editor.p5js.org/MariaQuideroli/sketches/TpwEQLCk0

2 respostas

Oi oi, Maria Eduarda! Tudo bom?

Verifiquei seu projeto e pude observar que a bolinha está colidindo com a raquete. No entanto, como houve a alteração de alguns valores, parece que a bolinha "entra" um pouco mais na raquete.

Você pode modificar alguns valores também para melhorar a sensibilidade de colisão, olha só:

function verifColisaoBolinhaRaqueteOponente() {
  colidiu = collideRectCircle(xRaqueteOponente, yRaqueteOponente, compRaqueteOponente, altRaqueteOponente, xBolinha, yBolinha, diametro);
  if(colidiu){
    velocidadexBolinha *= -1;
  }
}

Teste o código e veja como fica o seu projeto.

Um abraço e bons estudos!

Oi Maria Eduarda!

Tive esse mesmo problema. E minha solução foi alterar a variável raio para diametro na função que verifica a colisão da bolinha na raquete.

collideRectCircleAlterando ficaria assim:

function verifColisaoBolinhaRaquete(){
  colidiu = collideRectCircle(xRaquete, yRaquete, compRaquete, altRaquete, xBolinha, yBolinha, diametro)
  if(colidiu){
    velocidadexBolinha *= -1;
  }
}

Fiz essa alteração com base na documentação do collideRectCircle. collideRectCicle

Lendo, entendi que os parâmetros são os mesmos do circle. E no circle usamos o diametro como referência e não o raio.

circle

Aqui funcionou, mas confesso que não sei se é a solução mais adequada.

Desculpa Camila Pessôa, quando comecei a responder não tinha visualizado aqui a sua resposta. :) Como acho que não dá pra deletar deixei a linha de raciocínio aí.