Toda lista que ele criou, declarou com o let... a "imagemCarros" não... Fiquei com muita dúvida sobre isso, já li todos os tópicos das outras pessoas que tiveram a mesma dúvida, mas não ajudou muito.
Vamos ao código:
//imagens do jogo
let imagemEstrada;
let imagemAtor;
let imagemCarro;
let imagemCarro2;
let imagemCarro3;
//Vai carregar as imagens a serem utilizadas
function preload() {
imagemEstrada = loadImage("imagens/estrada.png");
imagemAtor = loadImage("imagens/ator-1.png");
imagemCarro = loadImage("imagens/carro-1.png");
imagemCarro2 = loadImage("imagens/carro-2.png");
imagemCarro3 = loadImage("imagens/carro-3.png");
imagemCarros = [imagemCarro, imagemCarro2, imagemCarro3];
}
do jeito que ele fez acima, ele manteve as variáveis imagemCarro, imagemCarro2 e imagemCarro3 e aí, dentro do preload criou mais uma linha com uma lista para armazenar as 3 variáveis... Aí, eu já comecei na dúvida por ver o imagemCarros ser criado sem o let, var ou const, então isso já uma baita dúvida...
E aí, penso: Por qual motivo ele já não declarou uma lista fora da função e carregou as imagens diretamente dentro de cada posição. Esse meu entendimento ficaria assim (eu testei dessa forma e funcionou):
//imagens do jogo
let imagemEstrada;
let imagemAtor;
let imagemCarros = ['', '', ''];
//Vai carregar as imagens a serem utilizadas
function preload() {
imagemEstrada = loadImage("imagens/estrada.png");
imagemAtor = loadImage("imagens/ator-1.png");
imagemCarros[0] = loadImage("imagens/carro-1.png");
imagemCarros[1] = loadImage("imagens/carro-2.png");
imagemCarros[2] = loadImage("imagens/carro-3.png");
}
Então ficam duas dúvidas cabeludas:
1 - Pq não teve um let maroto antes da lista que o instrutor criou dentro do preload?
2 - Pq ele nao criou essa lista fora do preload e carregou cada posição da mesma com uma imagem e assim, excluindo as 3 variáveis imagemCarro, imagemCarro2 e imagemCarro3?
Muitíssimo agradicido desde já XD