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

Ao adicionar laço for a imagem dos carros não carrega e não aparece mensagem de erro

Escrevi o código conforme mostrado em aula, mas ao carregar não aparece a imagem dos carros como também não aparece nenhuma mensagem de erro. Também declarei o array antes da função preload e o erro continuou persistindo Como devo fazer para utilizar o laço for?

let imagemDaEstrada;
let imagemDoAtor;
let imagemCarro;
let imagemCarro2;
let imagemCarro3;
let imagemCarros = [imagemCarro, imagemCarro2, imagemCarro3];

function preload(){
  imagemDaEstrada = loadImage("imagens/estrada.png");
  imagemDoAtor = loadImage("imagens/ator-1.png");
  imagemCarro = loadImage("imagens/carro-1.png");
  imagemCarro2 = loadImage("imagens/carro-2.png");
  imagemCarro3 = loadImage("imagens/carro-3.png");
//variaveis do carro
let xCarros = [600,600,600];
let yCarros = [40,96,150];
let velocidadeCarros = [2,2.5,3.2];


function mostraCarro (){

  for ( let i = 0; i < imagemCarros.lenght; i++){
      image(imagemCarros[i], xCarros[i], yCarros[i],            50,40);
  }
}


function movimentaCarro(){
  xCarros[0] -= velocidadeCarros[0];
  xCarros[1] -=velocidadeCarros[1];
  xCarros[2] -=velocidadeCarros[2];
}
function voltaPosicaoInicialDoCarro(){
  if(xCarros[0] < -50){
    xCarros[0] = 600;
  }
    if(xCarros[1] < -50){
    xCarros[1] = 600;
  }
    if(xCarros[2] < -50){
    xCarros[2] = 600;
  }
}
2 respostas
solução!

O erro está na escrita do for. Depois que você declara o i = 0, você coloca a condição i < imagemCarros.lenght;... O erro está na palavra lenght. O correto é length (ou seja, é só inverter a posição das letras "T" e "H"). O restante parece estar tudo certo. Espero ter ajudado.

Obrigada, Matheus! Corrigi a grafia da palavra e deu tudo certo.