Oi, Nickolas! Tudo bem?
Podemos conferir, de acordo com a documentação, que a função draw()
é responsável por executar continuamente os comandos que estão escritos dentro dela até que o programa seja interrompido, ou seja, enquanto o nosso jogo estiver rodando todos os comandos declarados dentro da função draw()
serão executados não apenas uma vez, mas em um loop constante.
Dessa forma, é necessário excluir ou comentar a função voltaAtorParaPosiçãoInicial()
, pois apesar da função movimentaAtor()
declarada ser responsável por garantir a movimentação do ator, a função draw()
repete em um ciclo constante a função voltaAtorParaPosiçãoInicial()
, que posiciona o ator na posição inicial. Dessa maneira, é como se estivéssemos a cada instante definindo a posição yAtor = 366
, logo, ele fica constantemente preso nessa posição.
Quando comentamos ou excluímos a função voltaAtorParaPosiçãoInicial()
, ela continua sendo declarada no documento ator.js
e continua sendo utilizada e executada em outras funções dentro desse documento. Em contrapartida, quando a retiramos da função draw()
estamos apenas impedindo que o ator a todo instante declare a sua posição y como 366, ficando presa nela.
Dessa forma, ele ficando abaixo ou acima da função movimentaAtor()
acaba comprometendo a posição do ator da mesma forma, já que a função draw()
é uma espécie de função que executa os seus comandos constantemente em loop, enquanto o jogo estiver rodando.
Espero ter ajudado na compreensão do problema. Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓