3
respostas

Alguem pode me explicar claramente o trecho do codigo que contem o Return voltando para o if?

function voltaCarroPosiçãoInicial(){ for (let i =0; i < imagensCarros.length; i = i + 1){ if (passouTodaTela(xCarros[i])){ xCarros[i] = 600 } } }

function passouTodaTela (xCarro){ return (xCarro < -50) }

3 respostas

A linha com o if você entende como "se (XXXX) faça isso:" . Ele só vai fazer o que vem depois se o tal XXXX for verdadeiro. E o que é o XXXX? É o retorno (o resultado) da funçao passouTodaTela, que só faz olhar para a posição do carro e retornar verdadeiro se ela for menor que -50, ou falso se não for.

O laço não tem problema , só não entendi o pq da colocar um valor como -50 e não simplesmente voltar ao valor inicial 0.

Ah, sim. É que de início ele queria resetar a posição (para a posição inicial de 600) o carro assim que saísse da tela pela esquerda, isto é, quando o X dele fosse menor que zero. Só que o que acontecia é que a imagem ainda estava sendo exibida quando acontecia isso, então ela desaparecia repentinamente. Isso foi resolvido fazendo a comparação com uma posição um pouco mais à esquerda, em -50. Em resumo, ele resolveu deixar o carro sair um pouquinho da tela antes de resetar, melhorando o efeito.