2
respostas

[Dúvida] Usei a biblioteca para fazer a colisão, mas não acontece colisão alguma.

link do meu código inteiro: https://editor.p5js.org/LongIsa0003/sketches/cozTDEKXR

aqui vou copiar só a parte do ator:


//váriaveis do ator
let xAtor = 100;
let yAtor = 366;
let colisao = false;

//functions dos atores

function mostraAtor (){
  image(imagemDoAtor, xAtor, yAtor, 30, 30);
}

function movimentaAtor() {
  if (keyIsDown (UP_ARROW)){
    yAtor -= 3;
  }
  if (keyIsDown (DOWN_ARROW)){
    yAtor += 3;
  }
  if (keyIsDown (RIGHT_ARROW)){
    xAtor += 3;
  }
    if (keyIsDown (LEFT_ARROW)){
    xAtor -= 3;
    }
}

function verificaColisao() {
  for (let i = 0; i < imagemCarros.length; i = i + 1) {
    collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
    if (colisao) {
      colidiu();
    }
}
}
function colidiu() {
 xAtor = 100;
  yAtor = 366;
}

segui o passo a passo e conferi várias vezes, mas ainda não entendi o que fiz de errado.

2 respostas

Seu código não está atingindo a função colidiu() porque a variável colisao está sempre falso.

Mas na aula o instrutor não chegou a modificar esse false :c