2
respostas

[Sugestão] minha solução para o bug da bolinha presa

function ponto(){
     if(xBolinha>590){
          ptPlayer1 +=1; 
          pontuacao.play();
          xBolinha= 300}
     if(xBolinha<10){
         ptPlayer2 +=1;
        pontuacao.play();
        xBolinha = 300}
2 respostas

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}