Tentei ver os tópicos no forum mas não consegui arrumar o meu problema. Usei a biblioteca e cheguei a simplificar como ele mostra no vídeo mas como o meu não tinha funcionado normal então também não funcionou simplificado. Vou deixar meu código abaixo para a resolução do problema. link do meu projeto: https://editor.p5js.org/isabelapcorreia/sketches/TCPoRruLO
let xBolinha = 300; let yBolinha = 200; let diametro = 20; let raio = diametro / 2;
let velocidadexBolinha = 6; let velocidadeyBolinha = 2;
let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90; let colidiu = false;
//variaveis do oponente let xRaqueteOponente = 584; let yRaqueteOponente = 150; let velocidadeyOponente;
function setup() { createCanvas(600, 400); }
function draw(){ background(0); mostraBolinha(); circle(xBolinha, yBolinha, diametro) movimentaBolinha(); verificacolisaoborda(); mostrarRaquete(xRaquete, yRaquete); movimentaMinhaRaquete(); verificaColisaoRaquete(); colisaoMinhaRaquete(); mostrarRaqueteOponente(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); colisaoRaqueteOponente();
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 mostrarRaquete(x, y){ rect(x, y, raqueteComprimento, raqueteAltura)
} function mostrarRaqueteOponente(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 colisaoMinhaRaquete(){ colidiu = collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio); if (colidiu){ velocidadeyBolinha *= -1;
} }
function movimentaRaqueteOponente(){ velocidadeyOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeyOponente
} function colisaoRaqueteOponente(){ colidiu = collideRectCircle( xRaqueteOponente, yRaqueteOponente, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio); if (colidiu){ velocidadeyBolinha *= -1; }