2
respostas

(Bug) Raquete e bolinha no JS

Boa noite! Gostaria de informar que o meu jogo mesmo ainda não tendo sido terminado vem apresentando alguns erros em relação à raquete adversária e a bolinha. A bolinha treme durante suas movimentações e a raquete, como a acompanha acaba que treme junto a bolinha (além da bolinha mexer-se somente na vertical)...tenho receio de que esse tipo de problema tenha sido porque não fiz exatamente como o instrutor ( segui todos os passos, somente o do p5collide2d.js que não consegui implantar ao meus códigos ) e então esse deve ser um dos motivos pelo qual o jogo vem apresentando esses problemas. Muito obrigado! Abraço.

2 respostas

Oi João, tudo bem?

Entendo que esteja passando por dificuldades em seu projeto, mas não se preocupe, estamos aqui para te ajudar.

Pelo que você descreveu, parece que o problema está na implementação do p5collide2d.js, que é uma biblioteca usada para detecção de colisões. Como você mencionou que não conseguiu implantá-lo nos seus códigos, acredito que seja essa a causa dos problemas que você está enfrentando.

A função collideRectCircle() que está sendo usada no código da aula é uma função dessa biblioteca. Ela verifica se um retângulo (neste caso, a raquete) e um círculo (a bolinha) estão colidindo.

function verificaColisaoRaquete(x, y) {
    colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
    if (colidiu){
        velocidadeXBolinha *= -1;
    }
}

Se a biblioteca não estiver corretamente implementada, essa função não será capaz de detectar a colisão, o que pode causar o comportamento estranho que você está vendo.

Para resolver isso, você precisa garantir que o p5collide2d.js está sendo corretamente importado e usado em seu projeto. Verifique se o arquivo p5collide2d.js está no mesmo diretório do seu arquivo .html e se você o está chamando corretamente no seu arquivo .html. Para isso, você deve ter uma linha semelhante a esta no cabeçalho do seu arquivo .html:

<script src="p5collide2d.min.js"></script>

Além disso, certifique-se de que essa linha está acima da linha onde você chama o seu arquivo .js principal.

Espero que essa informação ajude a resolver o problema. Lembre-se, a programação é um processo de aprendizado e é normal encontrar obstáculos ao longo do caminho. Continue persistindo!

Um abraço e bons estudos.

Muito obrigado de verdade! Assim que terminar meu projeto mando retornos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software