1
resposta

[Dúvida] Movimento do carro_1

Pessoal, mais uma pergunta:

Eu criei as seguintes variáveis: let estrada; let Vaca; let carro_1; let xCarro_1 = 600; let carro_2; let carro_3;

No cálculo da velocidade do carro_1

//Velocidade do carro function velocidadeCarro(){ xCarro_1 -= 2; if(xCarro_1<-60){ xCarro_1 = 600; } }

Tudo está funcionando direitinho. O carro fica passando direto na tela, várias vezes sem parar.

Fazendo um teste aqui, resolvi retirar o =600 das chaves desse if aí de cima. O if passou a ser assim como o de baixo: function velocidadeCarro(){ xCarro_1 -= 2; if(xCarro_1<-60){ xCarro_1; } }

Já que lá em cima, na declaração das variáveis, eu havia atribuído esse valor de 600 ao xCarro_1, o movimento desse carro não deveria ter permanecido o mesmo? Quando eu tiro o valor de =600 do if, o carro só passa pela tela uma vez. Se eu recoloco =600, o carro fica passando sem parar. Por que o carro só passa uma vez quando eu retiro o valor mencionado?

1 resposta

Oi Domingos!!! Essa função é uma condicional. Dentro dela tem o IF que diz:

se o xCarro-1 passar do 600 ( o xCarro começa no X0, mas para efeitos visuais, o instrutor colocou os carros para iniciarem um pouco antes, no seu está com -60) . Enfim, quando o carro passar da posição 600 do eixo x, o carro tem que retornar para a posição -60 do eixo x. E assim vai a vida toda!!!!!

Se vc retirar o 600, o Xcarro nunca vai voltam por uma simples razão , o que seria o ponto para o xCarro retornar era o 600, sem esta barreira, o carro continua indo embora kkk. Para perceber melhor, coloque valores diferentes, coloque metade do canvas e veja o que acontece. Se o xCarro chegar ao 300 que seria o meio da tela, ele tem que desaparecer, não? e voltar, certo?

Disponha um tempinho para ver isso aqui!! https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/if...else

Bons estudos!!!!!