Comments 7
Что-то я не понял… Опера 12, линупс. Верхний (переключающий цвета) переключатель — прыгает ступеньками.
И вдруг ВНЕЗАПНО плавно повернулся так медленно. Потом опять — прыгает O_O
И вдруг ВНЕЗАПНО плавно повернулся так медленно. Потом опять — прыгает O_O
Нужно больше кода!
Хороший вопрос :). Ну там, конечно, месяц работы и тонны кода — исходниками одного метода не отделаешься.
Принцип такой — выставляются промежуточные значения через таймер и элементы, которые нужно перерисовать — перерисовываем, а те, которые не нужно — не перерисовываем (ваш Кэп :).
Есть easing-функция, по которой прогоняется значение по таймеру и duration. Мы получаем текущее значение и вызываем перерисовку. Собственно, оптимизация — грамотно выбрать только нужные объекты и перерисовывать только их.
Ну и, при стандартной анимации непонятно, как с одной на другую переключаться (если новая анимация началась, когда предыдущая ещё не закончилась). Здесь это решается легко и просто.
Принцип такой — выставляются промежуточные значения через таймер и элементы, которые нужно перерисовать — перерисовываем, а те, которые не нужно — не перерисовываем (ваш Кэп :).
Есть easing-функция, по которой прогоняется значение по таймеру и duration. Мы получаем текущее значение и вызываем перерисовку. Собственно, оптимизация — грамотно выбрать только нужные объекты и перерисовывать только их.
Ну и, при стандартной анимации непонятно, как с одной на другую переключаться (если новая анимация началась, когда предыдущая ещё не закончилась). Здесь это решается легко и просто.
Sign up to leave a comment.
Как мы писали SVG виджеты для JavaScript