function ponto(){
if(xBolinha>590){
ptPlayer1 +=1;
pontuacao.play();
xBolinha= 300}
if(xBolinha<10){
ptPlayer2 +=1;
pontuacao.play();
xBolinha = 300}
function ponto(){
if(xBolinha>590){
ptPlayer1 +=1;
pontuacao.play();
xBolinha= 300}
if(xBolinha<10){
ptPlayer2 +=1;
pontuacao.play();
xBolinha = 300}
Oi, Igor, tudo bem?
Muito obrigado por compartilhar sua resposta! Pelo seu código toda vez que um jogador marcar um ponto a bolinha voltará para o centro da tela. De fato isso resolve o problema da bolinha ficar presa nas raquetes.
Tenho certeza que o seu código vai ajudar muitos alunos e alunas da plataforma que estão com dúvida em relação a este assunto.
Continue se dedicando em seus estudos para aprimorar ainda mais suas habilidades e desenvolver seus conhecimentos e caso tenha dúvidas, estarei à disposição.
Abraços!
Cheguei a uma solução parecida, o limite das minhas raquetes são nos pontos 25 e 580 respectivamente, pouco antes de encostar nas bordas laterais ele chama a função ponto, que move a bolinha sutilmente antes desses valores (28 e 578 respectivamente) contabiliza o ponto e simula o efeito de borda, evitando que o X e Y da raquete e da bolinha coincidam em algum momento e cause o bug. No impacto convencional com a raquete o diâmetro é considerado, então a bolinha colide antes de chegar nos pontos críticos
function checarimpactoatores (){
if (xB > width - point_area){pontosR1 += 1; ponto(578)}
if (xB < 0 + point_area){pontosR2 += 1; ponto(28)}
function ponto(x){xB=x ;vxB *= -1; vyB *=-1}