Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Bug | Colisão Bolinha com Raquete.

Este problema ocorreu comigo tanto no Scratch quanto no P5.js Editor, e não só no meu projeto, como no do Instrutor Guilherme, e em alguns outros de alunos que postaram o projeto final e eu pude testar.

Quando a bolinha colide exatamente com eixo superior ou inferior da raquete, ela entra em um loop e fica presa rebatendo rapidamente entre as "paredes" laterais da raquete.

Eu testei algumas mudanças no código e percebi que isso ocorre porque nós definimos a colisão da bolinha com a raquete, mas somente para as laterais da raquete. E não para o topo ou a parte inferior da raquete. Então quando a bolinha colide com essa parte, ela entra na raquete e fica presa por algum momento nesse loop. Pode ou não ficar presa à borda do canvas marcando pontos constantemente.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Tentei ler o arquivo da "lib" de colisão que foi utilizado durante o curso "p5.collide2d.js", mas sinceramente, não entendi muita coisa (ainda) kkkkkk. Mas creio que a solução seja declarar ou especificar parâmetros que representem o topo e a parte inferior da raquete. Pesquisar sobre...

Video demonstrativo de qualidade duvidosa: https://youtu.be/cdm-lLI3b2U

  • Abaixa o volume!
  • Aumentei a largura da raquete para facilitar a demonstração.
  • A velocidade da bolinha aumenta a cada ponto... porque sim.
1 resposta
solução!

Olá, Nathan! Tudo certo?

Em primeiro lugar eu gostaria de te parabenizar pela conclusão do projeto e dedicação. Não é fácil mesmo ler e compreender a documentação logo de cara, é um processo e continue persistindo que vai dar bom!

Sobre o erro da bolinha presa na raquete. Realmente esse é um bug do jogo. Apenas não entendi muito bem sua colocação, porque a lógica da colisão funciona excluindo a parte superior e inferior da raquete enquanto ela se movimenta, e o problema surge porque existe a colisão da raquete e a colisão da borda, então quando a bolinha ultrapassa essa área, ela quica entre os dois.

Uma aluna aqui da Alura teve uma ideia genial, vou compartilhar o link do tópico aqui para você:

Espero que as informações tenham ajudado você!

Um abraço e bons estudos!