A bola passa direto pela raquete ao invés de colidir, quando a raquete está abaixo da bola, ela colide com a parede normalmente, mas quando a raquete está acima da bola, a bola volta antes de encostar na parede, código a seguir
//variáveis de localização e tamanho (bola)
let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;
let raio = diametro / 2 ;
//variáveis de velocidade (bola)
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
//váriaveis de localização e tamanho (Raquete Jogador)
let xRaquete = 5;
let yRaquete = 150;
let CompRaquete = 10;
let AltRaquete = 100;
//variáveis de velocidade (Raquete Jogador)
let velRaquete = 4;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
MostraBol();
MovBol();
ColidBol();
Raquete();
MovRaquete();
}
//função de criação da bola
function MostraBol(){
circle(xBolinha, yBolinha, diametro);
}
//função de Movimentação da bola
function MovBol(){
xBolinha += velocidadeXBolinha;
//yBolinha += velocidadeYBolinha;
}
//função de colisão da bola
function ColidBol(){
//colisão com a parede
if (xBolinha + raio> width ||
xBolinha - raio< 0){
velocidadeXBolinha *= -1;
}
if (yBolinha + raio> height ||
yBolinha - raio < 0){
velocidadeYBolinha *= -1;
}
//colisão com a raquete do jogador
if (xBolinha - raio < xRaquete + CompRaquete && yBolinha - raio < yRaquete + AltRaquete && yBolinha + raio < yRaquete){
velocidadeXBolinha *= -1;
}
}
//função de criação da raquete
function Raquete(){
rect(xRaquete,yRaquete,CompRaquete,AltRaquete)
}
//função de movimentação da raquete
function MovRaquete(){
if (keyIsDown(87)){
yRaquete -= velRaquete;
}
if (keyIsDown(83)){
yRaquete += velRaquete;}
}