1
resposta

n consigo criar a colisao da segunda raquete

1 resposta

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!