Oi Agrocontar, tudo bem? Espero que sim.
Obrigado pela paciência em aguardar um retorno!
Entendi sua dúvida. Inicialmente é preciso compreender que a variável imagemCarros
traz uma lista com as imagens dos três carros utilizados no jogo, ao utilizá-la para diferentes finalidades estamos apenas reproduzindo as imagens presentes na lista e aplicando sobre elas uma determinada propriedade, como movimento e velocidade.
No caso do exemplo que você colocou, na função movimentaCarro()
temos o seguinte código:
function movimentaCarro(){
for(let i = 0; i<imagemCarros.length; i=i+1){
xCarros[i] -= velocidadeCarros[i];
}
}
Nessa função foi aplicado uma propriedade de continuidade o for()
e em seu interior foram adicionados alguns parâmetros referentes às imagens dos carros, por isso utilizou-se a variável imagemCarros
. Durante a repetição das imagens da lista (os três carros), a função iria fazer com que cada carro se movimentasse com uma determinada velocidade na coordenada “x”.
Sendo assim não é necessário alterar os parâmetros da função for
para cada especificidade que desejamos criar, pois esses parâmetros estão relacionados às imagens que vamos utilizar para realizar algo, o que precisa ser modificado é apenas a funcionalidade que se deseja elaborar. Um exemplo seria a função voltaParaPosicaoInicial()
:
function voltaPosicaoInicialDoCarro(){
for( let i = 0; i<imagemCarros.length; i=i+1){
if (passouTodaTela(xCarros[i])){
xCarros[i] = 600;
}
}
}
function passouTodaTela(xCarros){
return xCarros <-50;
}
Nesta função estabelecemos os mesmos parâmetros para o loop de repetição, mas alteramos a funcionalidade através de outros comandos como a função if()
no interior das chaves da função for()
.
Espero ter ajudado com sua questão. Caso tenha dúvidas, estarei à disposição para te ajudar :)
Grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!