Показать сообщение отдельно
  #5 (permalink)  
Старый 23.07.2015, 11:38
Новичок на форуме
Отправить личное сообщение для piast Посмотреть профиль Найти все сообщения от piast
 
Регистрация: 14.04.2015
Сообщений: 7

var lastTime = Date.now();
function main() {

  var now = Date.now();
  var dt = Math.min((now - lastTime), 20) / 1000.0;

  update(dt);
  render();
  lastTime = now;

  requestAnimationFrame(main);
}


В функции update(dt) у меня идет обновление в несколько раздельных последовательных этапов. Переход на следующий этап выбирается в зависимости от того произошло ли какое-либо событие в игре. Так вот заметил, что остановка происходит на одном и том же этапе. И если следующий этап запускать "в ручную" вызовом соответствующего метода, то все продолжается и работает дальше как надо. Единственная проблема - игра может отработать несколько полных циклов, проходя все этапы и в неактивной вкладке, а потом в какой-то случайный момент тормознуться.
Ответить с цитированием