Olá , tentei fazer sem a biblioteca e minha bolinha trava na raquete do oponente, alguém sabe o motivo?
Segue meu código:
Obs: Tentei usar a solução de outros aqui do fórum e trava do mesmo jeito.
// VARIAVEIS BOLINHA
var xBolinha = 200;
var yBolinha = 200;
var diametro = 30;
var raio = diametro / 2;
var velocidadeXBolinha = 5;
var velocidadeYBolinha = 5;
// VARIAVEIS RAQUETE
var xRaquete = 5;
var yRaquete = 150;
var comprimentoRaquete = 10;
var alturaRaquete = 90;
// VARAVEIS RAQUETE OPONENTE
var xRaqueteOponente = 585;
var yRaqueteOponente = 150;
var velocidadeYOponente;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
desenhaBolinha();
velocidadeBolinha();
bolinhaLimiteBorda();
mostraRaquete(xRaquete, yRaquete,);
mostraRaquete(xRaqueteOponente, yRaqueteOponente,);
moverRaquete();
baterNaRaquete(xRaquete, yRaquete);
baterNaRaqueteOponente();
movimentaRaqueteOponente();
}
// BOLINHA
function desenhaBolinha() {
circle(xBolinha, yBolinha, diametro);
}
function velocidadeBolinha() {
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function bolinhaLimiteBorda() {
if (xBolinha + raio > width || xBolinha - raio < 0) {
velocidadeXBolinha *= -1;
velocidadeXBolinha *= 1;
}
if (yBolinha + raio > height || yBolinha - raio < 0) {
velocidadeYBolinha *= -1;
velocidadeYBolinha *= 1;
}
}
// RAQUETE
function mostraRaquete(x, y) {
rect(x, y, comprimentoRaquete, alturaRaquete);
}
function moverRaquete() {
if (keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}
function baterNaRaquete(x, y) {
if (xBolinha - raio < x + comprimentoRaquete
&& yBolinha - raio < y + alturaRaquete
&& yBolinha + raio > y) {
velocidadeXBolinha *= -1;
}
}
function baterNaRaqueteOponente() {
if(xBolinha + raio > xRaqueteOponente && yBolinha - raio < yRaqueteOponente + raqueteAltura
&& yBolinha + raio > yRaqueteOponente ){
velocidadeXBolinha *= -1;
}
}
function movimentaRaqueteOponente() {
velocidadeYOponente = yBolinha - yRaqueteOponente - comprimentoRaquete / 2 - 30;
yRaqueteOponente += velocidadeYOponente;
}