Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
129 / 50 / 8
Регистрация: 01.12.2013
Сообщений: 572

Определить направление движения мышки

10.01.2016, 19:40. Показов 4607. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно сабж в теме. У меня будет объект - доска как здесь http://jsfiddle.net/martin_/Fq8F4/ внизу, она ездит влево и вправо, хочу в свойствах объекта сохранять направление движения.
Думал направление движения определять по направлению мышки, правда есть один случай когда мышка очень резко сдвигается, а доска её догоняет - в этот момент у мышки движения нет а у доски нет.

В общем ваш совет - как определять направление? Я придумал только смотреть координаты в предыдущий интервал и в этот и сравнивать их. Может есть другие варианты?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2016, 19:40
Ответы с готовыми решениями:

Как изменить направление движения эффекта
Здравствуйте. Есть страница ruseller.com/lessons/les2098/demo/index2.html там на картинке эффект поднимающихся шариков. Вот скрипт...

Запись времени движения мышки
Всем привет подскажите как с помощью js можно отслеживать и записывать время движения мышки, то есть к примеру посетитель зашел на сайт и...

Определить направление движения проводника
В вершинах квадрата перпендикулярно плоскости чертежа расположены четыре прямых проводника с одинаковыми токами I1. В центре квадрата в...

5
 Аватар для smart-drone
22 / 18 / 14
Регистрация: 07.01.2016
Сообщений: 70
10.01.2016, 23:57
Лучший ответ Сообщение было отмечено marrk как решение

Решение

Цитата Сообщение от marrk Посмотреть сообщение
Может есть другие варианты?
1. получаешь координаты предыдущей позиции курсора
JavaScript
1
var xPrevious, yPrevious;
2. получаешь текущие координаты
JavaScript
1
var xCurrent, yCurrent;
3. вычитаешь предыдущие из текущих
JavaScript
1
2
var xResult = xCurrent - xPrevious;
var yResult = yCurrent - yPrevious;
3. находишь длину вектора
JavaScript
1
var vectorLength = Math.sqrt(xCurrent * xPrevious + yCurrent * yPrevious);
4. нормализуешь вектор
JavaScript
1
2
        xResult /= vectorLength;
        yResult /= vectorLength;
5. прибавляешь найденные компоненты к координатам объекта
JavaScript
1
2
var xObject += xResult;
var yObject += yResult;
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
11.01.2016, 06:43
посмотри тут, насколько оно подойдёт тебе, это другой вопрос
0
 Аватар для smart-drone
22 / 18 / 14
Регистрация: 07.01.2016
Сообщений: 70
11.01.2016, 13:51
Еще можно перевести координаты вьюпорта в координаты игрового поля:
JavaScript
1
res = ( X - исх_коорд_min ) / ( исх_коорд_max - исх_коорд_min ) * ( рез_коорд_max - рез_коорд_min ) + рез_коорд_min
https://jsfiddle.net/1wzc9j15/
или можно попробовать pointerLock
0
129 / 50 / 8
Регистрация: 01.12.2013
Сообщений: 572
11.01.2016, 14:01  [ТС]
Еще можно перевести координаты вьюпорта в координаты игрового поля:
https://jsfiddle.net/1wzc9j15/
Не понял зачем переводить вьюпорт и так равен игровому полю (пока).
Ещё интересно почему вы querySelector используете, а не getElementById например?
0
 Аватар для smart-drone
22 / 18 / 14
Регистрация: 07.01.2016
Сообщений: 70
11.01.2016, 14:24
Цитата Сообщение от marrk Посмотреть сообщение
Не понял зачем переводить вьюпорт и так равен игровому полю (пока).
Ну может вопрос слегка неправильно поставлен, поэтому перебираю все варианты, помочь же хочу)
Цитата Сообщение от marrk Посмотреть сообщение
Ещё интересно почему вы querySelector используете, а не getElementById например?
Просто удобней с ним, он выбирает элемент(ы) по css селектору. Единственное отличие между getElements(*) не кеширует свои результаты и кроссбраузерный. Здесь на скорость вроде не влияет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2016, 14:24
Помогаю со студенческими работами здесь

Через случайное количество тактов движения изменять направление движения
Помогите пожалуйста. Движение вдоль периметра экрана. Через случайное количество тактов движения изменять направление движения. ...

Найти уравнение траектории точки. Нарисовать траекторию движения точки и показать направление её движения
Материальная точка участвует одновременно в двух взаимно перпендикулярных колебаниях, выраженных уравнениями х = 2 sinωt см и у = -1...

направление движения
Подскажите пожалуйста. Есть дуга: начальная точка дуги предположим x = 0.00000, y = 0.00000, z= 0.00000 конечная точка дуги x...

Направление движения (круг)
Помогите сделать алгоритм GoDirection - это угол к которому нужно поворачиваться player.direction - это угол персонажа в данный момент ...

Изменить направление движения.
Не имеется идей. Корабль движется в четерёх направлениях - (север, юг, запад , восток), для него даются команды - (влево, вправо,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru