2
respostas

P5.Js Não reconhece o codigo sugerido na aula para melhorar a legibilidade do codigo

Na aula criando o jogo Pongo usando o P5.Js tinha uma solução para melhorar o código de colisão da bolinha com a minha raquete. segue meu projeto (com o codigo que não está funcionando ) https://editor.p5js.org/thawanluz/collections/EHu-Io7v9

no codigo padrão eu uso essa fuction e funciona normalmente.

function colisaoRaquete () { if (xBolinha - rbolinha < xRaquete + widthRaquete && yBolinha - rbolinha < yRaquete + heightRaquete && yBolinha + rbolinha > yRaquete) { speedXbolinha *= -1 ; } }

mas quando eu tento usar a solução sugerida que é a seguinte :

let esquerdaBolinha = xBolinha - rbolinha; let superiorBolinha = yBolinha - rbolinha; let inferiorBolinha = yBolinha + rbolinha;

let direitaRaquete = xRaquete + widthRaquete; let superiorRaquete = yRaquete; let inferiorRaquete = yRaquete + heightRaquete;

function colisaoRaquete () { if (esquerdaBolinha < direitaRaquete && superiorBolinha < inferiorRaquete && inferiorBolinha > superiorRaquete) { speedXbolinha *= -1; }

} simplesmente não funciona mais a colisão. Eu revisei varias vezes o codigo e não encontro o porquê de não funcionar. Se alguêm puder me ajudar com isso, ficaria agradecido.

2 respostas

Olá, Thawan! Tudo certo?

Eu testei o seu projeto aqui e obtive o seguinte resultado:

Gif do projeto do aluno sendo executado Era esse o resultado esperado? Aqui parece tudo certo. Poderia deixar aqui um print do erro que aparece para você, por gentileza?

Aguardo o seu retorno para podermos prosseguir da melhor forma.

Fico à disposição para ajudar.

Abraço.

nossa, eu atualizei o código, acho que o Sr. abriu ele com o os scripts novos, rodando a biblioteca que traz a colisão de objetos. enfim, era uma curiosidade apenas entender porquê o script sugerido da aula não funcionou.

let esquerdaBolinha = xBolinha - rbolinha; 
let superiorBolinha = yBolinha - rbolinha;
let inferiorBolinha = yBolinha + rbolinha;

let direitaRaquete = xRaquete + widthRaquete;
let superiorRaquete = yRaquete; 
let inferiorRaquete = yRaquete + heightRaquete;

function colisaoRaquete () {
if (esquerdaBolinha < direitaRaquete && superiorBolinha < inferiorRaquete && inferiorBolinha > superiorRaquete)
{ speedXbolinha *= -1; }
}

que seria esse acima. esse em questão não rodou no meu codigo, apenas a solução tradicional e a implementação da biblioteca contendo a colisão de objetos pronta .