Olá a todos, tudo bem?
No vídeo 3 da aula 3 (Colisão com a raquete) no minuto 2:50 o professor começa a escrever a função onde a bolinha vai colidir com a raquete. Antes de subtrair o raio de xBolinha ele testa o jogo e a bolinha colide com a borda esquerda e volta.
Comigo, a bolinha não volta. Ela passa direto pela borda e some. Alguém sabe me dizer por que isso ocorre?
Detalhe que quando eu subtraio o raio de xBolinha ela colide e volta normalmente, mas antes não. E meu código está igual >.<
Segue o meu código:
//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 30;
let raio = diametro / 2;
//velocidade da bolinha
let = velocidadeXBolinha = 2;
let = velocidadeYBolinha = 2;
//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 10;
let raqueteAltura = 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, raqueteComprimento, raqueteAltura);
}
function movimentaMinhaRaquete() {
if (keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}
function verificaColisaoRaquete() {
if (xBolinha < xRaquete + raqueteComprimento) {
velocidadeXBolinha *= -1;
}
}