Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

movimentaRaqueteOponente is not defined

Uncaught ReferenceError: movimentaRaqueteOponente is not defined (sketch: line 36)

Já tentei de tudo, mas não encontro o meu erro.

Em Draw, a função : movimentaRaqueteOponente(); fica em vermelho. Então a raquete do oponene não movimenta.

//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2 ;

//velocidade da bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha = 6;

//variáveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90;

//variáveis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;

function setup() { createCanvas(600, 400); }

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete, yRaquete); movimentaMinhaRaquete(); verificaColisaoRaquete(); mostraRaquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); -----------Erro aqui----------

}

function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); }

function movimentaBolinha(){ xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha; }

function verificaColisaoBorda(){ if (xBolinha + raio> width || xBolinha - raio< 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio> height || yBolinha - raio < 0){ velocidadeYBolinha *= -1; } }

function mostraRaquete(x,y){ rect(x, y, raqueteComprimento, raqueteAltura);

}

function movimentaMinhaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } }

function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1; }

function movimentaRaqueteOponente(){ velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente } }

https://editor.p5js.org/tradersardinhainciante/sketches/Zh2kiTJg9

3 respostas
solução!

Você colocou a função 'movimentaRaqueteOponente' dentro da função 'verificaColisaoRaquete', basta coloca-la para fora que irá funcionar.

Espero ter ajudado.

Olhei tanta coisa que nem reparei nas "{}"... Fiquei mais de 2 horas nisso. Muito obrigado Matheus. Funcionando aqui. Valeu!

Acontece com todo mundo, fique tranquilo.