1
resposta

Erro na função para verificar a colisão da raquete

function VerificaColisaoRaquete(){
    if (xBolinha - Raio < Xraquete + ComprimentoRaquete && yBolinha - Raio < Yraquete + LarguraRaquete && yBolinha + Raio > Yraquete) 
    {
        VelocidadeBolinhax *= -1;
  }
}

A função está igual a da aula, mudando apenas o nome das variáveis, e mesmo assim não reconhece a colisão. Se desabilitar a função, o jogo reconhece todas as bordas e não da nenhum Bug. Mas assim que habilita ela novamente, a bolinha fica "quicando" na lateral da raquete, atravessa a borda e outros erros. Alguem poderia verificar por favor!!

1 resposta

Olá Erica, tudo bem?

Pelo código que você postou, parece que a condição da colisão está correta. No entanto, pode ser que o problema esteja na forma como as variáveis estão sendo atualizadas.

Uma sugestão é verificar se as variáveis xBolinha, yBolinha, Xraquete, Yraquete, ComprimentoRaquete, LarguraRaquete e Raio estão sendo atualizadas corretamente em outras partes do código.

Outra sugestão é verificar se a função VerificaColisaoRaquete() está sendo chamada no momento correto. Talvez seja necessário chamar essa função em um momento específico do jogo, como quando a bolinha estiver em contato com a raquete.

Espero ter ajudado e bons estudos!