Oi, Robson! Tudo bem?
Ao clicarmos na chave que inicia os comandos da função verificaColisaoBorda() podemos notar que a chave correspondente ao final dessa função é a última chave presente no código, logo, a função mostrarRaquete() não está sendo definida no escopo global do código, pois está dentro da função verificaColisaoBorda(), não podendo assim ser chamada dentro da função draw(), já que ela apenas poderá chamar funções declaradas no escopo global do código.
Para resolvermos esse problema, então, devemos excluir a última chave existente no código e adicionar uma chave "}" antes da função mostrarRaquete(). Dessa forma, estaremos fechando corretamente a função verificaColisaoBorda() e declarando as demais funções que vem após ela no escopo global do código.
Deixaremos, então, essa parte do código da seguinte forma:
function verificaColisaoBorda() {
if (xBolinha + raio > width ||
xBolinha - raio < 0) {
velocidadeXBolinha *= -1;
}
if (yBolinha + raio > height || yBolinha - raio<0){
velocidadeYBolinha *= -1
}
}
function mostrarRaquete() {
rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura);
}
//seta pra cima
function movimentaMinhaRaquete(){
if (keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
//seta pra baixo
if (keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}
Além disso, precisamos fazer uma pequena alteração dentro da função draw(), que consiste em substituirmos o comando movimentarMinhaRaquete(); por movimentaMinhaRaquete();, visto que, é dessa maneira que a função está sendo nomeada no código. Deixaremos, então, a função da seguinte maneira:
function draw() {
//fundo
background(0);
//Bolinha
mostrarBolinha();
movimentaBolinha();
verificaColisaoBorda();
//M Raquete
mostrarRaquete();
movimentaMinhaRaquete();
}
Espero ter ajudado! Qualquer dúvida se sinta à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓