1
resposta

[Dúvida] Usar a biblioteca não tem colisão com a raquete

ao usar a function colisaoRaqueteBiblioteca() { colidiu = collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio); if (colidiu) { velocidadeXBolinha *= -1; } }

a bolinha não tem colisão com a raquele ele passa pela raquele bate na parrede e volta

segue o codigo desde o começo

//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2;

//variáveis da raquete 1 let xRaquete = 5; let yRaquete = 150; let comprimento = 10; let altura = 90;

let colidiu = false;

//variáveis velocidade bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha = 6; let raqueteComprimento = 10; let raqueteAltura = 90;

function setup() { createCanvas(600, 400); }

function draw() { background(0); mostraBolinha(); movimentoBolinha(); verificaBorda(); mostraRaquete(); movimentaMinhaRaquete(); //verificaColisaoRaquete(); colisaoRaqueteBiblioteca

}

function mostraBolinha(){circle(xBolinha, yBolinha, diametro);

}

function movimentoBolinha(){ xBolinha += velocidadeXBolinha; //yBolinha += velocidadeYBolinha; }

function verificaBorda(){ if (xBolinha + raio > width || xBolinha - raio < 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio > height || yBolinha - raio < 0){ velocidadeYBolinha *= -1; } }

function mostraRaquete(){rect(xRaquete, yRaquete,comprimento, altura) }

function movimentaMinhaRaquete() { if (keyIsDown(UP_ARROW)) { yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)) { yRaquete += 10; } }

function verificaColisaoRaquete() { if (xBolinha - raio < xRaquete + comprimento && yBolinha - raio < yRaquete + altura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1; } }

function colisaoRaqueteBiblioteca() { colidiu = collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio); if (colidiu) { velocidadeXBolinha *= -1; } }

1 resposta

Oi, Eduardo

Informe o Link do seu código