Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.01;
Скачать: CL | DM;

Вниз

Как работать с мышью   Найти похожие ветки 

 
Ксандр   (2007-05-01 17:01) [0]

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


 
Rial ©   (2007-05-01 17:30) [1]

либо собитые OnMouseMove
либо, если на API

function TRialWindow.WindowProc(Const Window : HWnd;  Message, WParam : Word;
                               LParam : LongInt) : LongInt;
...
Case Message of
...
 WM_MOUSEMOVE     : //Перемещение мыши
                  begin
                   FMouseX  := LoWord (lParam);
                   FMouseY  := HiWord (lParam);
                   If (@FOnMouseMove <> Nil)then
                    FOnMouseMove(Self, FMouseX, FMouseY,
                                                       wParam and MK_SHIFT    =  MK_SHIFT,
                                                       wParam and MK_CONTROL  =  MK_CONTROL,
                                                       wParam and MK_LBUTTON  =  MK_LBUTTON,
                                                       wParam and MK_RBUTTON  =  MK_RBUTTON);

А потом в обратчике просто запоминаешь последнее положение
и поворачиваешь на dX = NewX - OldX.


 
Ксандр   (2007-05-01 18:15) [2]

Простите но я немогу разобраться в этом коде. Если вас не затруднит то обьясните пожалуйста подробно что нужно делать.
У меня есть переменная "Angel" которая уменьшается если мышь движеться вправо и увеличевается если влево


 
Rial ©   (2007-05-01 19:05) [3]

1. Делаешь обработчик передвижения мыши.
2. В обработчике у тебя есть координаты мыши.
Вот их каждый раз запоминай во временных переменных.
3. Находишь разницу между предыдущим значением и текущим,
на него и изменяешь угол.

Если тут что то такое непонятное, то я самоликвидируюсь,
лень писать еще подробнее.



Страницы: 1 вся ветка

Текущий архив: 2009.03.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1231942778
Scot Storch
2009-01-14 17:19
2009.03.01
нарисовать прямоугольник


2-1232119215
Б
2009-01-16 18:20
2009.03.01
Обработка растра в формате 32 бита.


2-1232114477
n00b
2009-01-16 17:01
2009.03.01
помогите с переводом с С++ на делфи


2-1232107211
Iriss
2009-01-16 15:00
2009.03.01
StringGrid переход на ячейку влево по Enter


11-1197556130
nikfel
2007-12-13 17:28
2009.03.01
Как отловить активно окно или нет.