|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2022, 01:14 | #1 |
Пользователь
Регистрация: 11.01.2021
Сообщений: 48
|
Как получить скорость движения курсора мыши?
У меня скролинг происходит от мышки чем быстрее двигаешь мышку тем быстрее перемещается объект. Нужно узнать скорость мыши и приплюсовать к радианам угла объекта. Как узнать скорость мыши в цифрах, чтобы можно было прибавить к объекту?
|
19.04.2022, 02:33 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Так же как в задачке по математике про поезд выходящий из точки А в точку Б. Узнать ее положение с некоторым интервалом времени и разделить дистанцию на время.
см. также GetTickCount, GetCursorPos Код:
|
19.04.2022, 02:48 | #3 | |
Пользователь
Регистрация: 11.01.2021
Сообщений: 48
|
Можно подробнее.Ошибку выдает:
Цитата:
Код:
|
|
19.04.2022, 03:01 | #4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Код:
|
19.04.2022, 04:01 | #5 | ||
Пользователь
Регистрация: 11.01.2021
Сообщений: 48
|
По прежнему выдает ошибку. При отнимании time_now - time_do, получается ноль, а как известно число делить на ноль нельзя. Поэтому эта строка не работает.
Цитата:
Цитата:
Код:
|
||
19.04.2022, 04:36 | #6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
А я звездочки зачем поставил. Не хотелось загружать одинаковыми комментариями текст.
Код:
Последний раз редактировалось macomics; 19.04.2022 в 04:44. |
19.04.2022, 05:13 | #7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Это будет несколько не точная скорость т.к. дистанция будет учитываться от точки А до Б по прямой. Для более точного получения скорости стоит накапливать пройденную дистанцию при каждом сообщении от мыши. При каждом пересчете значения скорости использовать суммарный пройденный путь и сбрасывать накопленную дистанцию в 0.
Код:
Или можно ограничить область перемещения курсора мыши только ClientRect окна. см. ClipCursor, ClientToScreen, Form1.ClientWidth, Form1.ClientHeight. Для этого по сообщению от мыши достаточно вычислить ClientRect: Код:
Последний раз редактировалось macomics; 19.04.2022 в 05:56. |
19.04.2022, 13:22 | #8 |
Пользователь
Регистрация: 11.01.2021
Сообщений: 48
|
Протестировала, работает, спасибо за помощь. Я делаю комнату, которая будет перемещаться, когда пользователь двигает мышку. Чем быстрее двигается курсор, тем быстрее поворачивается камера нацеленная на комнату. Кажется что это камера двигается на самом деле, это помещение смещается под определенным углом.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
скорость движения с зонтиком и без зонтика | dimon_snake | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 08.01.2017 22:28 |
Вывести поточные координаты курсора мыши относительно формы и экрана, при нажатии на кнопку реверсивное изменение кнопок мыши C++ | carrie bradshaw | Помощь студентам | 0 | 06.02.2014 00:21 |
Дано скорость лодки, скорость течения реки, время движения, определить путь S, пройденный лодкой (на Delphi) | zhora-011 | Помощь студентам | 1 | 06.09.2013 22:05 |
Запрет движения курсора | Ko$ | Общие вопросы Delphi | 0 | 22.05.2013 17:28 |
Скорость движения обьекта | shepelin | Общие вопросы Delphi | 9 | 23.01.2008 11:51 |