1
resposta

Não precisei referenciar, está realmente utilizando o código importado?

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

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

//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let larguraRaquete = 10;
let comprimentoRaquete = 90;

let colidiu = false;

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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaBorda();
  mostraRaquete();
  movimentaMinhaRaquete();
  //verificaColisaoRaquete();
  verificaColisaoRaquete();
}

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

function movimentaBolinha() {
  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, larguraRaquete, comprimentoRaquete);
}

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

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

function colisaoMinhaRaqueteBiblioteca() {
  colidiu = collideRectCircle(xRaquete, yRaquete, larguraRaquete, comprimentoRaquete, xBolinha, yBolinha, raio);
  if(colidiu) {
    velocidadeXBolinha *= -1;
  }
}


1 resposta

Olá, Shirley, tudo bem?

Obrigada pela paciência em aguardar um feedback.

Para utilizar o código importado é necessário referenciar o arquivo onde se encontra a função que utilizaremos no nosso programa no arquivo index.html, pois se não referenciar o programa entende que a função collideRectCircle é uma função não definida, undefined, portanto, a função não está sendo utilizada.

Abaixo segue o código comentado de como é realizada essa referência no arquivo index.html :

<body>
    <script src="sketch.js"></script>
    <script src="p5.collide2d.js"></script> /* referencia ao novo arquivo que contem 
a funçao collideRectCircle */
</body>

Espero ter ajudá-la.

Reforço que estou à disposição para tirar dúvidas.

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!