Sobre o trecho abaixo, da resolução da Colisão da raquete, fiquei com algumas dúvidas. Fiz um desenho (bem básico, abaixo, para ilustrar a pergunta também com base nele).
function verificaColisaoRaquete() {
if (xBolinha - raio < xRaquete + raqueteComprimento
&& yBolinha - raio < yRaquete + raqueteAltura
&& yBolinha + raio > yRaquete) {
velocidadeXBolinha *= -1;
}
}
DÚVIDA 1: xBolinha - raio < xRaquete + raqueteComprimento : neste ponto, considerando que subtraímos o raio da Bolinha para podermos considerar a extremidade esquerda da mesma, o correto não seria, também, considerar que o x da raquete está no centro, e buscar a extremidade direita desta utilizando xRaquete + raqueteComprimento / 2 ? Quando colocamos xRaquete + comprimento não estamos levando o comprimento da raquete (10, no exercício) além do ponto x dela (centro)?
DÚVIDA 2: yBolinha - raio < yRaquete + raqueteAltura: no mesmo sentido da pergunta 1, o "raqueteAltura" (90, no exercício) ao ser somado no yRaquete não deveria partir do centro do retângulo, e se alongar para além da altura dele, visto que o y estaria no ponto 45, fazendo, assim, sobrar 45 pra "fora"? Neste sentido, o correto não seria, também, substituirmos por "yRaquete + raqueteAltura / 2"?
DÚVIDA 3: yBolinha + raio > yRaquete): No mesmo sentido das duas anteriores, quando comparamos o yBolinha + raio (extremidade inferior da bolinha) com o yRaquete, não estaríamos comparando com o centro da Raquete (retângulo), devendo, este caso, ser substituído por yRaquete - raqueteAltura / 2?
Confesso que dei uma travada nesse pondo da aula tentando compreender como estas referências deram certo na prática. Se puderem dar um auxílio, agradeço!