Tudo vai bem ate eu inserir esse código para verificar se a bolinha bate na primeira raquete( ainda nao criei a segunda) Antes disso, a bolinha atravessava a raquete e batia na parede como esperado. Mas assim que crio essa função( mesmo copiando exatamente o codigo fornecido, a bolinha bate na borda, volta, e ao inves de bater na raquete, ela bate centimetros antes, no vazio e volta.
será bug?ou alguma falha na escrita do código.
//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;
//velocidade da bolinha
let velocidadexBolinha = 2;
let velocidadeyBolinha = 6;
//variaveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteAltura = 10;
let raqueteComprimento = 90;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
verificaColisaoBorda();
mostraRaquete();
movimentaMinhaRaquete();
verificaColisaoRaquete();
}
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, raqueteAltura, raqueteComprimento);
}
function movimentaMinhaRaquete() {
if (keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}
O GODIGO EM QUESTÃO
function verificaColisaoRaquete()
{
if(xBolinha < xRaquete + raqueteComprimento){
velocidadexBolinha *= -1;
}
}
insira seu código aqui