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

Вниз

Turn   Найти похожие ветки 

 
Mr.Vlad   (2007-08-27 00:04) [0]

Подскажите пожалуйста. Я вращаю камеру вокруг объекта с помощью запоминания координат курсора, но когда курсур "упирается в край монитора", то вращение прекращается.

procedure TFEngine.ViewerMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
mdx:=x;
mdy:=y;
end;

procedure TFEngine.ViewerMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
Actor1.turn(x-mdx);
mdx:=x;
mdy:=y;
end;

Знаю, что нужно каждую секунду координаты курсора присваивать половине экрана, но mouse.CursorPos типа TPoint. Чему присваивать???


 
ElectriC ©   (2007-08-27 00:45) [1]

Может это?!
...
CurPos : TPoint; // координаты курсора
Width, Height : Integer; // размеры окна
Xi, Yi : Integer; // поворот камеры по осям x, y.
...
GetCursorPos(CurPos);
SetCursorPos(Width shr 1, Height shr 1);
Xi := (  CurPos.X - Width shr 1) / 1000 * 1.4;
Yi := (Height shr 1 -  CurPos.Y) / 1000 * 1.4;

P.S. 1.4 - Скорость вращения камеры.
P.P.S. shr 1 аналогично div 2, только быcтрее.


 
ElectriC ©   (2007-08-27 00:52) [2]

Поправочка:
Xi := Xi + (  CurPos.X - Width shr 1) / 1000 * 1.4;
Yi := Yi + (Height shr 1 -  CurPos.Y) / 1000 * 1.4;


 
Mr.Vlad   (2007-08-27 21:27) [3]

Почти то.
Я как раз забыл процедуру SetCursorPos.
Написал в таймере(500) SetCursorPos(512, 384) и проблема решена.
СПАСИБО!!! БОЛЬШОЕ!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.091 c
2-1270726208
Lede
2010-04-08 15:30
2010.08.27
Из Stringgrid в Word


8-1203001110
][aker
2008-02-14 17:58
2010.08.27
Проблемы с Tmediaplayer у начинающего лузера


15-1266678959
GDI+
2010-02-20 18:15
2010.08.27
Интересно, когда андроиду можно будет просто сказать.


6-1221664307
denissoft
2008-09-17 19:11
2010.08.27
Как переслать огромный файл по ТСП/ИП от 100 Мб- 4 Гб.


15-1265198569
Андрей Прокопенко
2010-02-03 15:02
2010.08.27
"Немыслимое что-то..."