Создать время между выполнением 2 функций (обычный JavaScript) - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу иметь установленное количество времени между моей функцией взрыва и функцией сброса; если у меня нет установленного количества времени, код быстро выполняет функцию сброса после функции выполнения. Это делает взрыв в основном невидимым. Я попытался установить timeOut для функции сброса, но это ничего не изменило.

Вот код:

  function loop(){
    //game code up here
    if(out){
      //run explode for certain amount of time then call reset function
      explode();
      //setTimeout(reset, time)
      reset();
    }
  }
  setInterval(loop, 10)

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Как и @Channa, упомянутый в ответе выше, setTimeout выполнит функцию сброса один раз через 1000 миллисекунд. Лучше, если вы завернете это так, иначе ваша функция сброса сразу запустится.

setTimeout(function() { reset(); }, 1000);

Кроме того, если вы хотите повторно вызывать свою функцию, вы можете использовать это.

setInterval(reset,1000);

setInterval будет вызывать вашу функцию сброса через каждые 1000 мс.

0 голосов
/ 08 ноября 2019

В JavaScript 1.7, используя yield с async.js , вы можете сделать следующее:

    function loop(){
    //game code up here
    if(out){
      //run explode for certain amount of time then call reset function
      explode();
      //setTimeout(reset, time)
      yield to.sleep(.500)
      reset();
    }
  }

Если вы хотите использовать его только с простым javascript, вы можете попробовать следующее,

function loop() {
    //game code up here
    if (out) {
        explode();
    }
}

function explode() {
    //explode code goes here
    setTimeout(reset, 3000);
}
loop();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...