Задать вопрос
@hatealleverything

Как можно реализовать некий множитель скорости?

Добрый день.
Я бы хотел сделать горизонтальную рулетку.
Чуть раньше, задавал вопрос, как на canvas отрисовать всё это и мне скинули отличные 2 примера. Я разобрался маленько и реализовал вот это.


С canvas работал очень мало. Ниже ссылка на предыдущий вопрос
Как можно загружать много картинок в canvas и двигать их всех?

Единственное, чего я не понимаю, как мне сделать некий множитель скорости в зависимости от базовой, чтобы начало было плавное, середина быстрая, а конец медленный. В прошлом вопросе мне скинули пример, как можно реализовать это, но честно говоря я не смог разобраться в этом.
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 2
RAX7
@RAX7
Используй easing функции
https://easings.net/ru
https://gist.github.com/gre/1650294
Ответ написан
Комментировать
groog
@groog
Я только учусь
Вам нужен не множитель, а тайминг функция. Множитель дает линейное изменение скорости - быстрее или медленее на всем промежутке. С помощью тайминг функций можно задавать нелинейное поведение (плавное ускорение, замедление и пр.)

Пример функций:
https://gist.github.com/gre/1650294

Если на пальцах: то у вас есть какой-то таймер t и функция которая определяет сдвиг картинок f(t). Сейчас эта функция выглядит как f(t) = a*t, где a - это какой-то постоянный коэффициент. Изменяя функцию f(t) вы и получите нужный результат, например f(t) = t*t создаст эффект ускорения, f(t) = 1/t - плавное замедление
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы