1
resposta

Por que criamos a lista imagemCarro dentro da função preload()?

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");
  imagemCarros = [imagemCarro, imagemCarro2, imagemCarro3, imagemCarro, imagemCarro2, imagemCarro3];
  somDaTrilha = loadSound("sons/trilha.mp3");
  somDaColisao = loadSound("sons/colidiu.mp3");
  somDoPonto = loadSound("sons/pontos.wav");
}

Por que criamos uma lista de carros dentro da função preload() e não fora dela? E por que não utilizamos a palavra let para criá-la?

1 resposta

Boa tarde Luidi.

Referente a função preload(), ela funciona com o carregamento de imagens externas. De acordo com a documentação de referência do p5.js , a preload() carrega imagens de forma assíncrona. Isso significa que nós precisamos chamar a preload() antes da setup(). Só depois disso que a setup() irá esperar a chamada da imagem que foi carregada no preload().

Referente a não utilização da palavra let, você tem que declarar essas variáveis fora do escopo da função, para que as imagens possam ser acessadas por todo o código. Tipo assim:

let imagemDaEstrada;
let imagemDoAtor;
let imagemCarro;
let imagemCarro2;
let imagemCarro3;
let imagemCarros;
let somDaTrilha;
let somDaColisao;
let somDoPonto;

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");
  imagemCarros = [imagemCarro, imagemCarro2, imagemCarro3, imagemCarro, imagemCarro2, imagemCarro3];
  somDaTrilha = loadSound("sons/trilha.mp3");
  somDaColisao = loadSound("sons/colidiu.mp3");
  somDoPonto = loadSound("sons/pontos.wav");
}

Você pode dar até uma olhada na referência da função preload(), acho que vai ficar mais claro, tem um exemplo bem simples lá.

Espero ter ajudado.

Bons estudos.