Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

ReferenceError: collideRectCircle is not defined at /colisão.js:7:5

olá, desde o começo, fiz o codigo com algumas diferenças pro mostrado em aula, me deparei com varios bugs e corrigi, mas agora nã estou conseguindo.

alguém pode me ajudar?

basicamente coloquei 2 atores e carros em posição oposta. https://editor.p5js.org/mateus.sinis/sketches/7kCdwNxw2

4 respostas
solução!

A linha 8 do arquivo p5.collide2d.js está indevidamente duplicada e isto está causando um erro de sintaxe no seu código.

Remova a linha e o código voltará a funcionar.

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

Estou com o mesmo erro, mas no caso eu já tinha corrigido esse bug, o erro permanece. Alguém pode me ajudar? https://editor.p5js.org/DanielePrado/sketches/IibdlJaZh

Percebi que as variáveis que você está utilizando no arquivo ator.js estão com nomes diferentes dos utilizados nos arquivos sketch.js e carros.js. Conforme fui corrigindo o nome das variáveis, outros erros do mesmo tipo foram aparecendo. Abaixo deixei como o arquivo ator.js ficou após as alterações (e lembre-se de comentar a chamada da função voltaEsquiloPosicaoInicial no arquivo sketch.js, por agora):

//código do ator

let xEsquilo = 100;
let yEsquilo = 370;
let colisao = false;


function mostraEsquilo(){
  image(imagemAtor, xEsquilo, yEsquilo, 30, 30);
}

function movimentaScratch(){
  if (keyIsDown(UP_ARROW)){
    yEsquilo -= 3;
  }
  if (keyIsDown(DOWN_ARROW)){
    yEsquilo += 3;
  }
}

function verificaColisao(){
  for (let i = 0; i < imagemCarros.length; i += 1){
    colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xEsquilo, yEsquilo, 15)
    if (colisao){
      //colidiu.play();
      colidiu();
    }
  }
}

function colidiu() {
  yEsquilo = 370;
}

E aqui está um resumo das modificações que fiz:

  • Variável imagemEsquilo renomeada para imagemAtor
  • Variável movimentaEsquilo renomeada para movimentaScratch
  • Variável comprimentoCarro renomeada para comprimentoCarros
  • Variável alturaCarro renomeada para alturaCarros
  • Variável yAtor renomeada para yEsquilo
  • Função voltaEsquiloPosicaoInicial renomeada para colidiu

Oi, Vinicius!

Agradeço sua atenção. Eu acabei por refazer passo a passo, pois usando outro computador deu um BUG com o p5.js.

Cheguei no mesmo ponto, porém o erro é collideRectCircle is not defined. Já olhei linha por linha (tenho um défict de atenção, talvez alguma palavra tenha desordenado), com calma, mas não consigo encontrar o erro. Já chamei a função no sketch, mas continua apresentando o mesmo erro, então apaguei... Mas não sei mais o que fazer, pode me ajudar?

Link: https://editor.p5js.org/DanielePrado/sketches/eSfp62bzb