Ответы пользователя по тегу Node.js
  • Машина состояний с «инерцией» в node.js?

    Mezomish
    @Mezomish
    Разумеется, нет никакого «стандартного» решения, всё зависит от конкретной реализации.

    В простейшем случае можно сделать банальную очередь переходов, т.е. новый переход вызывается не мгновенно, а только после того, как полностью закончится предыдущий. Минусы очевидны — возможен UI-лаг, когда реакция на действия пользователя происходит с задержкой. Плюсы — проще в реализации.

    А можно в качестве примера взять Qt Animation Framework, в котором это сделано довольно элегантно: там переход из состояния в состояние стоит отдельно, а визуальные анимации — отдельно. И промежуточных состояний нет. Таким образом при команде «перейди в такое-то состояние» переключение происходит мгновенно, а анимация в этот момент только-только начинается.
    Если анимация ещё не завершилась, но уже поступает команда на следующий переход, то само переключение состояния происходит снова мгновенно, а анимация «подстраивается» под новые данные: старая анимация не завершается, а останавливается на том месте, где её застала новая команда, и уже из этого положения стартует анимация до новой точки. Минусы — сложнее в реализации. Плюсы — очень красиво и естественно :)
    Ответ написан
    1 комментарий