Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Bolinha atravessa raqueta com o código da biblioteca

Olá, após usar o código da biblioteca a bolinha passou a atravessar a raquete. Já tentei mudar o raio para diametro como vi algumas pessoas sugerindo aqui no fórum, porém sem sucesso, alguém consegue me iluminar?

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

//velocidade da Bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

//variáveis da Raquete
let xRaquete = 5;
let yRaquete = 170;
let larguraRaquete = 5;
let alturaRaquete = 60;

let colidiu = false;

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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete();
  movimentaMinhaRaquete();
  //verificaColisaoComRaquete();
  colisaoMinhaRaqueteBiblioteca();

}

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, larguraRaquete, alturaRaquete)

}

function movimentaMinhaRaquete(){

  if(keyIsDown(UP_ARROW)){

    yRaquete -= 10;

  }

  if(keyIsDown(DOWN_ARROW)){

    yRaquete +=10;

  }

}

function verificaColisaoComRaquete(){

  if(xBolinha - raio < xRaquete + larguraRaquete 
    && yBolinha - raio < yRaquete + alturaRaquete
    && yBolinha + raio > yRaquete){

    velocidadeXBolinha *= -1;

  }

}

function colisaoMinhaRaqueteBiblioteca() {

  colidiu = collideRectCircleVector(xRaquete,yRaquete,larguraRaquete,alturaRaquete,xBolinha,yBolinha,raio);

  if (colidiu){

    velocidadeXBolinha *=-1;

  }

}
1 resposta
solução!

Já descobri o meu erro, eu coloquei o collideRectCircleVector, é apenas collideRectCircle.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software