1
resposta

o placar não marca ponto se a bolinha bate em baixo da raquete do oponente

O instrutor da aula usou um código de uma biblioteca do gitHub na aula, não consegui acompanhar e tive que vir aqui no fórum pegar uma solução pra colisão das raquetes, encontrei uma, mas quando fui programar a contagem de pontos, percebi que quando a bolinha bate em baixo da raquete do adversário, os pontos não são contados, creio que deve ser algo relacionado à colisão dessa raquete em específico.

Nesse link, diminui a velocidade da bolinha e tirei o movimento da raquete do oponente pra mostrar logo de cara o erro...

https://editor.p5js.org/dutrah803/sketches/DyT8SNp3j

1 resposta

Oi oi, Ana! Tudo bem com você?

Para conseguirmos desenhar elementos na tela e fazê-los se movimentar o p5.js utiliza um sistema de coordenadas e por isso precisamos modificar um pouco a lógica para fazer referência ao outro lado da tela, a lógica no seu código ficaria assim:

function verificaColisaoRaqueteOponente() {
  if (xBolinha + raio > xRaqueteOponente && yBolinha + raio < yRaqueteOponente + raqueteAltura && yBolinha + raio > yRaquete) {
    velocidadexBolinha *= -1;
  }
}

Vou deixar um link para um artigo muito bom sobre o plano cartesiano do p5.js:

Embora seja uma solução interessante ao aprendizado, sugiro fortemente que você tente mais um pouco trabalhar com o consumo da biblioteca externa, pois essa é uma prática comum na rotina do desenvolvedor

Espero que tenha ajudado!

Um abraço e bons estudos!