1
resposta

O ator não colide com os carros.

1 resposta

Olá Weshelley! Tudo bem? Achei os erros pra você e é só você deixar o seu código exatamente igual a esse abaixo que vai funcionar. Você tinha esquecido de criar 3 funções no arquivo "autor.js" e esqueceu de chamar uma das funções. Por isso não funcionava a colisão. Estava faltando as funções necessárias. Então você compara esse código com o seu código daí e altera seu código para ficar igual a esse que deixei abaixo, que vai funcionar perfeitamente. E se você quiser alterar o nomes. Aí é com você, fique a vontade. Eu testei assim e está funcionando agora. Uma outra dica que deixo pra você é colocar os pontos e vírgula no fim de cada código. Seria uma boa. Acho que funciona sem colocar também, mais é bom colocar, que as vezes pode não funcionar.

Códigos do arquivo autor.js

//ator
let xa = 100;
let ya = 366;
let c = false;

function a(){
  image(ida, xa, ya, 30, 30);
}  
function movimentaAtor() {  
  if(keyIsDown(UP_ARROW)) {
    ya -= 3;
  }
  if(keyIsDown(DOWN_ARROW)){
    ya += 3;
  }
}

function verificaColisao() {
  for (let i = 0; i < idcs.length; i++) {
    c = collideRectCircle(xcs[i], ycs[i], cc, ac, xa, ya, 15)
    if(c){
      colidiu();
    }
  }
}

  function colidiu() {
   ya = 366; 
}

Nesses códigos abaixo é onde você precisa chamar as funções recém criadas que faltavam. Se não, não funciona.

Códigos do arquivo sketch.js

function setup() {
  createCanvas(500, 400)
}

function draw() {
  background(ide)
  a()
  cs()
  //t()
  verificaColisao();
  movimentaAtor();
}

function t(){

}