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

"movimentaCarros" is not defined

2 respostas
solução!

Oi, João! Tudo bem?

O problema está ocorrendo pois a função mostraCarros() não foi fechada ao final do seu comando for, mas sim ao final do código inteiro. Devido a isso, todas as funções após ela não estão declaradas no escopo global do código e sim dentro da função mostraCarros().

Para resolvermos esse problema, basta adicionarmos uma chave '}' para fecharmos essa função após a chave que fecha o comando for, além de excluirmos a última chave presente ao final do código. Deixaremos, então, o código do documento carro.js da seguinte maneira:

//código do carro
let xCarros = [600,600,600];
let yCarros = [40,96,150];
let velocidadeCarros = [2,2.5,3.2];


function mostraCarros(){
  for(let i = 0; i < imagemCarros.length; i=i+1){
      image(imagemCarros[i], xCarros[i], yCarros[i], 60, 35);

  }
}

function movimentaCarros(){
  xCarros[0] -=velocidadeCarros[0]
  xCarros[1] -=velocidadeCarros[1]
  xCarros[2] -=velocidadeCarros[2]

}

function voltaPosicaoInicialDoCarro(){
  if (xCarros[0] <-55){
    xCarros[0] = 600
  }
  if (xCarros[1] <-55){
    xCarros[1] = 600
  }
  if (xCarros[2] <-55){
    xCarros[2] = 600
  }
}

Espero ter ajudado!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Muito obrigado!!