2
respostas

[Dúvida] Não sei oque ocorreu com meu codigo :/

Estou usando o VSCode para fazer esse projeto, porem seguindo as aulas o jogo parou, aparece a estrada a vaca mas nao se move e nem aparece os carros.

//codigo do ator
let yAtor = 366;
let xAtor = 100;
let colisao = false;

//funções
function mostraAtor(){
    image(imagemDoAtor, xAtor, yAtor, 30, 30);
  }

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

function verificaColisao(){
  //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
  for (let i = 0; i < imagemCarros.length; i= i + 1){
    colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
    if (colisao){
      colidiu();
    }
  }
}

function colidiu(){
  yAtor = 366;
}



//codigo do carro
//lista
let yCarros = [40, 96, 150];
let velocidadeCarros = [2, 2.5, 3.5];
let xCarros = [600, 600, 600];
let comprimentoCarro = 50;
let alturaCarro = 40;





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

function draw() {
  background(imagemDaEstrada);
  mostraAtor(),
  mostraCarro();
  movimentaCarro();
  movimentaAtor();
  voltaPosicaoInicialDoCarro();
  verificaColisao ();
}






//funções
function mostraCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, alturaCarro);

  }
}

  function movimentaCarro(){
    for (let i = 0; i <imagemCarros.length; i = i + 1){
      xCarros[i] -= velocidadeCarros[i];
    }
  }

  function voltaPosicaoIniciaDoCarro(){
    for (let i = 0; i < imagemCarros.length; i = i + 1){
    if (passouTodaTela(xCarros[i])){
      xCarros[i] = 600;
    }

    }
    } 

  function passouTodaTela(xCarros){
    return xCarros < - 50;
    }
2 respostas

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

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

Oii Igor, tudo certo?

No momento em que você declarou a função voltaPosicaoInicialDoCarro() está faltando uma letrinha, o último L da palavra inicial e está diferente da chamada dela no draw().

Corrigindo isso deve funcionar normalmente :)

Qualquer coisa estou por aqui.

Abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!