Mesmo com o código da biblioteca a bolinha ignora a colisão com a borda, já olhei outros tópicos mas não consegui achar o erro.
//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;
let raio = diametro / 2 ;
//velocidade da bolinha
let velocidadeXBolinha = 2;
let velocidadeYBolinha = 2;
// variaveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let comprimentoRaquete = 10;
let alturaRaquete = 90;
let colidiu = false;
// variaveis do oponente
let xRaqueteOponente = 578;
let yRaqueteOponente = 150;
let velocidadeYOponente;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
verificaColisaoBorda();
desenhaRaquete(xRaquete,yRaquete);
movimentaRaquete();
desenhaRaquete(xRaqueteOponente,yRaqueteOponente);
movimentaRaqueteOponente();
colisaoRaqueteBiblioteca();
}
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 desenhaRaquete(x,y) {
rect(x,y,comprimentoRaquete, alturaRaquete)
}
function movimentaRaquete() {
if (keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}
function movimentaRaqueteOponente() {
velocidadeYOponente = yBolinha - yRaqueteOponente - comprimentoRaquete / 2 - 30;
yRaqueteOponente += velocidadeYOponente;
}
function colisaoRaqueteBiblioteca() {
colidiu = collideRectCircle(xRaquete,yRaquete,comprimentoRaquete,alturaRaquete,xBolinha,yBolinha,raio);
if(colidiu) {
velocidadeXBolinha *= -1;
}
}