1
resposta

[Dúvida] sobre a movimentação

até agora não entedi muito bem na parte de movimentar algum objeto, pois que nem no carrinho, nós colocamos xCarro = xCarro -2, porquê esse "-2" como que ele faz o carrinho se movimentar, sei que ele mostra o percurso certo mas como faz isso se mover, já q no scratch tem a função "mova até x passos"

1 resposta

Oi, Diogo! Tudo bem?

Esse valor se refere ao local que o carrinho está na tela. Vou explicar como isso funciona:

O valor x é onde o ator está na horizontal. O valor y é onde está na vertical. Quanto maior o valor de x, mais a direita, e quanto maior o valor de y, mais para baixo. Aqui nesse artigo tem uma explicação mais completinha de como esses valores funcionam dentro do plano cartesiano.

A junção desses dois valores é um lugar específico dentro da tela do nosso jogo, entende? Mas, para movimentar o objeto, esse valor precisa mudar constantemente.

A linha de código que você compartilhou, xCarro = xCarro -2, muda a posição horizontal do carro um pouquinho para a esquerda. xCarro é uma variável que tem um valor atribuído a ela, e quando utilizamos o sinal de igual ( = ), estamos mudando esse valor da variável.

Acontece que essa mudança de valor de variável está dentro de uma função! As funções são trechos de código que vão ser executados quando a gente quiser, desde que essa função seja chamada em algum lugar. Como a nossa função movimentaCarro() está chamada dentro de draw(), o carrinho vai se movimentar o tempo todo, porque é isso que a função draw() faz: todo mundo que tá ali dentro está executando sem parar. Então, a cada vez que a função é executada (o que acontece bem rapidinho, em milésimos de segundo), o valor de xCarro diminui 2 na posição e fica mais para a esquerda.

Fez sentido? Se ficou alguma dúvida, pode falar. Estarei por aqui :)

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software