Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resolvido

Fiz o código exatamente como na aula, só que quando coloco tanto o xBolinha - raio, quando o yBolinha - raio, ela não toca na borda esquerda e nem na borda de cima.

1 resposta
solução!

Olá Rafael,

Que bom que você conseguiu resolver o problema! No entanto, em relação à sua pergunta, é importante lembrar que a posição da bola na tela é determinada pelo seu centro, e não pela borda. Portanto, ao verificar se a bola toca na borda esquerda ou na borda superior, é necessário considerar o raio da bola para que a detecção seja feita corretamente.

Uma sugestão é verificar se a condição de colisão está levando em conta o raio da bola corretamente. Por exemplo, para detectar a colisão na borda esquerda, a condição seria:

if (xBolinha - raio < 0) {
  velocidadeXBolinha *= -1;
}

Note que estamos subtraindo o raio da posição x da bola. Isso porque a posição x da bola é o centro da bola, e não a borda esquerda. O mesmo vale para a detecção de colisão na borda superior:

if (yBolinha - raio < 0) {
  velocidadeYBolinha *= -1;
}

Espero ter ajudado e bons estudos!