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 ✓