preciso de ajuda
Bom dia Guilherme.
segue o código que soluciona este problema:
function verificaColisaoRaqueteOp(){
if (xBolinha + raio > xRaqueteOp
&& yBolinha > yRaqueteOp &&
yBolinha < yRaqueteOp + RaqueteOpAltura)
velocidadexBolinha *= -1;
}
Explicação. Primeiramente, você criou esta função "verificaColisaoRaqueteOp" duas vezes. Então lembre-se de apagar uma delas.
Agora quanto ao código a explicação é razoavelmente simples.
1º - (NA PRIMEIRA CONDIÇÃO) Vc estava subtraindo o RAIO da bolinha, e o correto é somar, pois, o circulo é criado a partir do centro, se vc subtrair o raio vc vai apontar para a borda esquerda do circulo, por isso é necessario SOMAR o raio. Não é necessário também somar o comprimento da raquete, pois o retângulo é criado a partir do canto superior esquerdo, ou seja, a posição "xRaqueteOp" já é a borda esquerda da raquete.
2º - Para verificar a posição Y é necessário simplesmente saber se: o circulo está numa posição MAIOR que o inicio do retângulo (yRaqueteOp) (ou seja maior que a POSIÇÃO do retângulo) e, MENOR que o tamanho total do retângulo (yRaqueteOp + RaqueteOpAltura)
Ficou claro minha resposta? Caso eu tenha te ajudado, não se esqueça de marcar o tópico como resolvido. E se ficou alguma dúvida pode perguntar!