1
resposta

[Dúvida] collideRectCircle is not defined

let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;
let raio = diametro / 2

let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

//variavel da raquete
let xRaquete = 5
let yRaquete = 150
let raqueteComprimento = 10
let raqueteAltura = 90 
let raqueteCurvatura = 30

//variavel do oponente
let xRaqueteOp = 585
let yRaqueteOp = 150
let raqueteComprimentoOp = 10
let raqueteAlturaOp = 90 
let raqueteCurvaturaOp = 30

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

function draw() {

  background(0);

  mostraBolinha();
  movimentaBolinha()
  verificaColisaoBorda()
  mostrarRaquete()
  movimentoMinhaRaquete()
  verificaColisaoRaquete()
  mostrarRaqueteOP()
  verificaColisaoRaqueteOponente()


 }

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

function movimentaBolinha(){
   xBolinha = xBolinha + velocidadeXBolinha;
 yBolinha = yBolinha + velocidadeYBolinha;

}

function verificaColisaoBorda(){
   if (xBolinha + raio > width || xBolinha - raio < 0){
    velocidadeXBolinha *= -1;

  }

  if (yBolinha + raio > height || yBolinha - raio <0){
    velocidadeYBolinha *= -1;
  }

}

function mostrarRaquete(){

  rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, raqueteCurvatura)
}

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

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

function mostrarRaqueteOP(){

  rect(xRaqueteOp, yRaqueteOp, raqueteComprimentoOp, raqueteAlturaOp, raqueteCurvaturaOp)
}

function verificaColisaoRaqueteOponente(){
  colidiu = collideRectCircle(xRaqueteOp, yRaqueteOp, raqueteComprimentoOp, raqueteAltura, xBolinha, yBolinha, raio);
  if (colidiu){
        velocidadeXBolinha *= -1;
    }
}
1 resposta

Olá, Carlos, tudo bem?

A mensagem exibida no console diz que você não definiu a collideRectCircle, portanto, não houve o upload da biblioteca collideRectCircle no jogo. Para arrumar o projeto, basta ir nas bibliotecas do p5.js, e baixar a p5.collide2D. O link está a seguir:

No botão verde escrito "Code", ao clicar, aparecerá o download da pasta como .zip. Ao baixar, é só fazer o upload dela no editor do projeto do jogo.

Lembre-se de também colocar a linha

    <script src="p5.collide2d.js"></script>

abaixo da linha

<script src="sketch.js"></script>

na aba index.html, pois irá garantir que a biblioteca funciona.

Se a dúvida persistir, estou disponível.

Abraços e bons estudos!

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