Segui a estrutura do código mostrado em aula e a bolinha atravessa a raquete
Vi que outra pessoa teve o mesmo problema e resolveu trocando o raio pelo diâmetro, ou diminuindo o tamanho da bolinha, mas tentei as duas coisas e não funcionaram.
//var bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let vxBolinha = 6;
let vyBolinha = 6;
let raio = diametro / 2
//var raquete
let xRaquete = 5;
let yRaquete = 150;
let widthRaquete = 10;
let heightRaquete = 90;
let bateuNaRaquete = false;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
mexeBolinha();
bolaNaBorda();
mostraRaquete();
mexeRaquete();
//bolaNaRaquete();
bateuNaRaquetebib();
}
function mostraBolinha(){
circle(xBolinha,yBolinha,diametro)
}
function mexeBolinha(){
xBolinha += vxBolinha
yBolinha += vyBolinha
}
function bolaNaBorda(){
if (xBolinha + raio > width || xBolinha - raio < 0){
vxBolinha *= -1
}
if (yBolinha + raio > height || yBolinha - raio < 0){
vyBolinha *= -1
}
}
function mostraRaquete(){
rect(xRaquete, yRaquete, widthRaquete, heightRaquete );
}
function mexeRaquete(){
if (keyIsDown(UP_ARROW)){
yRaquete -= 10
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 10
}
}
function bolaNaRaquete(){
if (xBolinha - raio < xRaquete + widthRaquete && yBolinha - raio < yRaquete + heightRaquete && yBolinha + raio > yRaquete ){
vxBolinha *= -1
}
}
function bateuNaRaquetebib(){
bateuNaRaquete = collideRectCircle(xRaquete, yRaquete, widthRaquete, heightRaquete, xBolinha, xBolinha, raio);
if (bateuNaRaquete){
vxBolinha *=-1;
}
}