Por favor alguém pode explicar qual foi o meu erro? Além de não colidir com a raquete, as vezes a bola parece colidir com uma parede invisível e faz movimentos estranhos.
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let velocidadeXBolinha = 6
let velocidadeYBolinha = 6
let raio = diametro/2
let xRaquete = 5
let yRaquete = 150
let alturaRaquete = 10
let comprimentoRaquete = 90
let velocidadeYRaquete = 10
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
//movimentaBolinha();
verificaColisaoBorda();
mostraRaquete();
movimentaMinhaRaquete();
verificaColisaoMinhaRaquete();
}
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(){
rect(xRaquete, yRaquete, alturaRaquete, comprimentoRaquete)
}
function movimentaMinhaRaquete(){
if (keyIsDown(UP_ARROW)){
yRaquete-= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete-= -10;
}}
function verificaColisaoMinhaRaquete(){
if (xBolinha - raio < xRaquete + comprimentoRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete){
velocidadeXBolinha *= -1;
}
}