2013-06-11 4 views
0

Как определить направление мыши из последнего пикселя?C# обнаружение направления мыши от последнего движения?

Например, мышь в 100; 100. Когда я переместил его 98; 100 a bool по имени Осталось. И после того, как я переместил его 99 Правый должен быть правдой, верно.

Когда нет движения, оба значения: false.

+0

Вы попробовали что-нибудь? –

+2

Ну, это похоже на хороший способ получить код? –

+0

В отличие от этого проекта, да. Я получил позиции мыши, пока она находится в панели, и я хочу, чтобы эта панель не переполняла другую, но код отличается, поэтому я не помещал сюда. – ithnegique

ответ

1

Ну, предположим, что вы сохранили свою предыдущую позицию в переменной точки, вызывающий объект PrevPoint. Предположим, что текущая позиция мыши сохраняется в точке, называемой PresentPoint. Затем следующие предложения предоставят желаемые результаты:

int DiffX = (PresentPoint.X - PrevPoint.X); 
bool Left = DiffX < 0; 
bool Right = DiffX > 0; 
// The same for Vertical direction, if Y goes bottom up 
int DiffY = (PresentPoint.Y - PrevPoint.Y); 
bool Up = DiffY > 0; 
bool Down = DiffY < 0; 
+0

Прежде чем кто-нибудь что-нибудь скажет, я не просто использую Right =! Left, потому что могут быть ситуации, когда никаких изменений не происходит, тогда как Right, так и Left будут ложными. –

+0

Я думаю, что вопрос задает вопрос о том, как запросить большинство позиций –

+0

Я задал этот вопрос для этого: у меня есть панель в другой панели. Эта маленькая панель движется мышью. Функции перемещения вертикальны и горизонтальны. Я ограничил ход, если малые левые равны более крупным, а малые - равны крупным. Но когда это сделано, если я ограничу движение слева, ограничения функции автоматически ограничивают ход для права, я хотел бы преодолеть это. И это, кажется, надежный ответ, но я должен подумать об этом, спасибо вам обоим. – ithnegique

Смежные вопросы