@irus1an

Как реализовать инерцию при перемещении элемента на JavaScript?

Здравствуйте.

Хочу реализовать перемещение элемента за курсором мыши с эффектом инерции. Если элемент движется в одну сторону то у него поднимается одна сторона и наоборот. Это как у машины при торможении нос опускается вниз, а зад поднимается.
Этот эффект реализован здесь: https://thinkingbox.com/
в конце сайта, где 3 надписи Our Collective's Culture.
Перемещение элемента за курсором уже реализовано, не понимаю как сделать этот эффект.
Можно рассчитать ускорение мыши, а дальше как? Как определять угол поворота элемента? И должен ли его центр вращения смещаться?
  • Вопрос задан
  • 333 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
может, вдохновит «цепочка преследования»: за мышкой тянется точка А – каждый кадр её смещение равно расстоянию до цели (мышки) делёному на некий коэффициент. Так что она запаздывает и замедляется по мере приближения.

К точке А тянется такой же логикой точка Б. И ещё несколько можно накинуть для совсем плавного подтягивания к цели. Fiddle без мышки: новые цели случайно выставляются на поле.

На сайте из вашего примера, кажется, только одно звено. А наклон зависит от расстояния до цели.

Upd. Немного экспериментов:
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы