Eu tentei fazer alguns métodos que vi aqui no fórum, porem nenhum deu certo. Ele não reconhece o "collideRectCircle"
Meu P5: https://editor.p5js.org/arthurdaleprani/sketches/o3Ss-7qIH
Eu tentei fazer alguns métodos que vi aqui no fórum, porem nenhum deu certo. Ele não reconhece o "collideRectCircle"
Meu P5: https://editor.p5js.org/arthurdaleprani/sketches/o3Ss-7qIH
Oi Arthur! Tudo bem por aí?
Agradeço a paciência em aguardar um retorno aqui no fórum.
Dei uma olhadinha aqui no seu código. Para que a função da biblioteca funcione, é necessário que você deixe de usar a função que foi construída antes, junto com o instrutor. Para isso, uma possibilidade é comentar o trecho, deixando entre os símbolos /*
e */
, assim:
/*
function verificaColisaoRaquete(x, y){
if (Xbola - raio < x + Compraq &&
Ybola - raio < y + Altraq && Ybola + raio > y){
velXbola *= -1;
}
}
*/
Como as duas funções receberam o mesmo nome e o JS é uma linguagem que executa o código linha a linha, a função que foi inserida mais acima é a que será executada.
Percebi também que algumas vezes a bolinha fica presa na raquete, durante o jogo. Esse é um bug comum, que pode ser resolvido adicionando a seguinte função:
function evitaPrenderBolinha(){
if(Xbola - raio < 0){
Xbola = 20;
}
if(Xbola + raio > 600){
Xbola = 580;
}
}
Assim, sempre que a bolinha ficar atrás da raquete, ela retorna a posição correta, logo ao lado da raquete, no lado de dentro, e a pontuação não marca além do necessário.
Não se esqueça de chamar a função evitaPrenderBolinha()
dentro da função draw()
!
Também gostaria de trazer algumas observações sobre a legibilidade do código. Uma pessoa programadora passa muito tempo lendo códigos, e isso gasta bastante energia. Por esse motivo, o uso de variáveis que tenham um nome bem explicativo é algo importante, além da indentação correta demonstrando a hierarquia dos comandos. Esses detalhes fazem muita diferença na compreensão do código.
Separar as variáveis utilizando comentários também é uma boa ideia para que o código fique mais organizado. Quando os comentários são de apenas uma linha, são feitos com duas barras //
.
Além disso, o uso de ;
ao final de cada instrução é recomendado para evitar alguns imprevistos em código mais complexos. Percebi que você usou em algumas instruções e não em outras. É normal esquecer no começo, então deixo aqui a provocação para que você refine seus estudos cada vez mais.
Acredito que você possa achar legal dar uma olhadinha nesse artigo sobre código limpo para ter uma ideia mais ampla sobre a importância de um bom design de código.
Continue se dedicando e estudando, Arthur! Não há nada mais importante que isso. O futuro é construído no presente, por nosso trabalho.
Caso tenha dúvidas na sua jornada aqui na Alura, recorra ao fórum. Estaremos aqui para te auxiliar.
Forte abraço.
Bons estudos!