2
respostas

[Dúvida] REferenceError

seguindo o exemplo dado em aula do codigo: no trecho "marcaPonto()" quando inclui o rechamado da função "voltaAtorParaPosicaoInicial();" que no meu codico mudei para "colidiuA(); e colidiuB();" da um erro de "Not defined" conferindo o codigo vejo que esta tudo certo, se colocar diretamente o "yAtor" funciona corretamente.

já tive outros erros quando tento charmar uma função ja feita em outra função isso sempre da um erro como resolvo isso?

//Ator

let yAtor = 367;
let xAtor = [80, 100, 130, 150, 200, 230, 250, 300, 330, 350, 400, 430, 470];

const rxAtor = Math.floor(Math.random() * xAtor.length);

var colisao = false;

var mPontos = 0;

function mostraAtor() {
  image(imgDoAtor, xAtor[rxAtor], yAtor, 30, 30);

}

function movimentaAtor() {
  if (keyIsDown(UP_ARROW)) {
    yAtor -= 2;
  }

  if (keyIsDown(DOWN_ARROW)) {
    yAtor += 2;
  }

  if (keyIsDown(UP_ARROW)) {
    yAtor -= 2;
  }

  if (keyIsDown(LEFT_ARROW)) {
    xAtor[rxAtor] -= 2;
  }

  if (keyIsDown(RIGHT_ARROW)) {
    xAtor[rxAtor] += 2;
  }
}

function verificaColisao() {
  //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
  //Rota A
  for (let i = 0; i < imgCarrosa.length; i++) {
    colisao = collideRectCircle(
      xCarros[i],
      yCarros[i],
      comCarros,
      altCarros,
      xAtor[rxAtor],
      yAtor,
      15
    );
    if (colisao) {
      colidiuA();

    }

  }

  function colidiuA() {
    yAtor = 367;
  }

  //Rota B
  for (let i = 0; i < imgCarrosa.length; i++) {
    colisao = collideRectCircle(
      xCarrosb[i],
      yCarrosb[i],
      comCarros,
      altCarros,
      xAtor[rxAtor],
      yAtor,
      15
    );
    if (colisao) {
      colidioB();

    }
  }

  function colidioB() {
    yAtor = 367;
  }
}

function iPontos(){
  textAlign(CENTER);
  textSize(25);
  fill(color(255,240,90))
  text(mPontos, width / 3, 27);
}

function maPontos(){
  if(yAtor < 15){
    mPontos += 50;
    colidioB();
  }
}
2 respostas

Pode enviar o link do p5 com o código? Fica mais fácil para analisar.

No código acima não vi a função voltaAtorParaPosicaoInicial().

editei o texto, no trecho do video é usado o voltaAtorParaPosicaoInicial() e em meu codigo e colidiuA e colidioB.

segue o link

https://editor.p5js.org/Herverson/sketches/7OaflNQ4R