olá, não fiz o código pela biblioteca, tentei fazer normalmente sem copiar o código de ninguém, porem a bolinha atravessa a raquete do oponente. poderiam analisar o que está errado na parte da função " verificaColisaoRaqueteOp"?
//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2;
//velocidade da bolinha let velocidadeXBolinha = 2; let velocidadeYBolinha = 2;
//variaveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90;
//variaveis raquete oponente let xRaqueteOp = 585; let yRaqueteOp = 150; let velocidadeYOp;
function setup() { createCanvas(600, 400); }
function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteOp, yRaqueteOp); movimentaMinhaRaquete(); movimentaRaqueteOp(); verificaColisaoRaquete(); verificaColisaoRaqueteOp();
}
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 movimentaRaqueteOp(){ velocidadeYOp = yBolinha - yRaqueteOp - raqueteComprimento / 2 - 30; yRaqueteOp += velocidadeYOp; }
function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1; } }
function verificaColisaoRaqueteOp(){ if (xBolinha + raio > xRaqueteOp - raqueteComprimento && yBolinha + raio < yRaqueteOp - raqueteAltura && yBolinha - raio > yRaqueteOp){ velocidadeXBolinha *= -1; } }