Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

colisão com a minha raquete

function verifColisaoBorda(){ if(xBolinha + raio>width || xBolinha - raio < 0){ velXBolinha *= -1; } if(yBolinha + raio > height || yBolinha - raio < 0 ) { velYBolinha *=-1} }

https://editor.p5js.org/rogerwillss/sketches/UzM1HuQY0

bom estou quase concluindo o projeto minha duvida é toda vez que faço a alteração para xBolinha+diametro minha raquete colide com a bolinha mais não soma ponto , e se deixo xbolinha+ raio não colide com a bolinha e soma ponto alguem pode me ajudara corrigir isso

2 respostas
solução!

Opa Roger, tudo certo?

Com relação ao problema encontrado, em que momento é realizada a soma de xBolinha + diâmetro?

Para o problema da soma dos pontos, no caso do jogador está funcionando normalmente, porém, no código do oponente:

function marcaPonto() {
  if (xBolinha > 590) {
    meusPontos += 1;
  ponto.play();
     xBolinha = 300;
yBolinha =200;}
    
  }
  if (xBolinha < 10) {
    pontosOponente += 1;
  ponto.play(); 
   xBolinha = 300;
yBolinha =200 ;}

O if que realiza a contagem dos pontos do oponente está fora da função marcaPonto(), não sendo chamada dentro da função draw() como é realizado com o restante, sendo assim, modificar o código mudando a posição de fechamento resolverá:

function marcaPonto() {
  if (xBolinha > 590) {
    meusPontos += 1;
  ponto.play();
     xBolinha = 300;
yBolinha =200;}
    

  if (xBolinha < 10) {
    pontosOponente += 1;
  ponto.play(); 
   xBolinha = 300;
yBolinha =200 ;}

  }

Analisando seu código um erro que travava a bolinha no centro era a passagem de valores na função verifColisaoBorda(), onde a sua condição estava subtraindo o raio e sendo comparado a menor que o tamanho da tela (width), somando o raio e comparando a se for maior que o width o problema é resolvido:

if(xBolinha+raio > width||xBolinha + raio < 0){
velXBolinha*=-1
}

Se precisar de ajuda ou tiver alguma dúvida, estou à disposição, conte comigo!

Tenha um bom dia e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Gabriel Dupla muito obrigado me ajudou mto.