Olá, Luiz!
Entendi sua dúvida. Você gostaria que, após o ator marcar um ponto, ele volte à posição inicial e haja um atraso antes que a tecla de seta para cima comece a mover o ator novamente.
Uma maneira de fazer isso é adicionar um pequeno atraso antes de permitir que o ator se mova novamente. Você pode usar a função setTimeout do JavaScript para criar esse atraso. Aqui está um exemplo de como você pode implementar isso no seu código:
function marcaPonto() {
  // Código para marcar o ponto
  // Volta à posição inicial
  ator.y = 366;
  // Atraso de 1 segundo antes de permitir o movimento novamente
  setTimeout(function() {
    podeMover = true;
  }, 1000);
}
function keyPressed() {
  if (keyCode === UP_ARROW && podeMover) {
    // Código para mover o ator para cima
  }
}
Nesse exemplo, a função marcaPonto é chamada sempre que o ator marca um ponto. Dentro dessa função, o ator é movido de volta à posição inicial e, em seguida, é definido um atraso de 1 segundo usando a função setTimeout. Após o atraso, a variável podeMover é definida como true, permitindo que o ator se mova novamente quando a tecla de seta para cima for pressionada.
Lembre-se de adaptar o código para o seu projeto, substituindo os nomes das variáveis e funções pelos que você está usando.
Bons estudos!