3
respostas

[Dúvida]

Na aula 03. Criando minha raquete no Jogo - 06 Importando de outras bibliotecas.

Segue código abaixo:

//variavéis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;

//variavéis da raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 10;
let raqueteAltura = 90;

let colidiu = false;

//variavéis da velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

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

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

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, raqueteComprimento, raqueteAltura);
}

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

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

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

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Erro na linha 31 conforme foto acima.

3 respostas

Olá, Wallace! Tudo bem?

O erro informa que você não definiu a função no escopo correto. Isso pode estar acontecendo porque você precisa chamar a biblioteca do collide2d no seu index.html.

Verifique se a collide2d está sendo chamada e tente novamente.

Também vai ajudar bastante se você disponibilizar o link para o seu projeto.

Bons estudos!

Olá, Camila!

Encontrei o erro e por incrível que pareça não se tratava dos pontos mencionados por você, mas sim um simples colchete fora do lugar que estava omitindo a referência da função criada.

Obrigado pela ajuda, e até a próxima.

Olá, Wallace! Parabéns! As correções de código são assim mesmo, às vezes a gente fica dias em um erro e o problema era só um nome escrito errado ou uma chave fora do lugar.

Continue com os estudos e obrigada também por compartilhar sua solução!

Um grande abraço e conte conosco!

Bons estudos!