Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> эффект отставания 
V
    Опции темы
neoks
Дата 1.8.2013, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Не знаю как называется, может кто видел к примеру когда за курсом следует какой та элемент, во флеше много раз видел, так вот элемент следует за курсором с эффектом отставания, чем быстрей двигать курсор тем сильней эффект и элемент не успевает за курсором отставая от него на некоторое расстояние.
Не подскажите как это делается или примерчик какой есть ?)
PM MAIL   Вверх
CruorVult
Дата 1.8.2013, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28



Подписываемся на событие mousemove, получаем координаты курсора и с помощью setTimeout делаем отложенное размещение элемента по текущим координатам. А если получится "хорошо" написать код, то может и не понадобится  делать setTimeout  smile 
PM MAIL Skype   Вверх
neoks
Дата 1.8.2013, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Цитата(CruorVult @  1.8.2013,  12:49 Найти цитируемый пост)
Подписываемся на событие mousemove, получаем координаты курсора и с помощью setTimeout

Ну это легко если нужно держать выдержанную дистанцию, а проблема в том что дистанция меняется в зависимости как быстро двигается курсор, чем быстрей тем больше дистанция, ну и также для минимальной скорости, чем медленнее курсор движется тем меньше дистанция.

PM MAIL   Вверх
CruorVult
Дата 1.8.2013, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28



Ну все верно

http://jsfiddle.net/uTZ4w/2/
PM MAIL Skype   Вверх
neoks
Дата 1.8.2013, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Цитата(CruorVult @  1.8.2013,  14:32 Найти цитируемый пост)
CruorVult

Удивительно, никогда бы не подумал что оно сработает, но на практике видно что пашет отлично. 
Спасибо! smile

Добавлено через 14 минут и 3 секунды
И все таки почти, не знаю почему заметны подергивания + это получается что дубль позиции курсора, хотелось бы как сказать, чтобы объект двигался к курсору а не повторял его траекторию с задержкой. 
У меня получается есть объект который движется по карте и к нему прикреплена камера, камера зафиксирована на объекте и получается когда объект сталкивается то он резко тормозит и с ним камера.
PM MAIL   Вверх
neoks
Дата 1.8.2013, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Все разобрался, кому нужно вот примерчик!

Код

x = xs + ((x - xs) * 0.1);
y = xy + ((y - xy) * 0.1);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.