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

Вниз

Управление мышой   Найти похожие ветки 

 
Some0ne. ©   (2002-07-27 00:16) [0]

Я тут игрушку свою пишу, и у меня возникла проблема: необходимо чтобы обзор по сторонам осуществлялся с помощью мыши(ну как в обычных 3Д игрушках). Как мне это сделать? Если брать координаты от события OnMouseMove, то при сильном повороте курсор сдвигается к краю экрана и дальнейший поворот не происходит! Помогите плиз....... =(


 
mazepa ©   (2002-07-27 00:19) [1]

Скачай с DelphiGFX->Game Source->Раздел 2->Doom
если разберешся %)


 
Some0ne. ©   (2002-07-28 23:56) [2]

Пасиба, ща посмотрим....... =)


 
Some0ne. ©   (2002-07-29 00:14) [3]

Спасибо, конечно, только это все же не то, что мне нада........ В этом ДууМе все равно, когда курсор в край экрана упирается, то больше не повернуться..... У меня практически так как в этом примере и было сделано.. Не переставлять же мне курсов через ВинАПИ(хотя, скорее всего так и придется =( )
Мож знает кто нть другой способ???


 
NailMan ©   (2002-07-29 01:30) [4]

Именно так и делается, вот как у меня в игрухе сделано:


//Процедура считывания данных от игрока
Procedure Ля-ля-ля
begin
...
чтение курсора мыши DirectInput функциями

//Обрабротка положения курсора мыши для его "бесконечности"
GetCursorPos(MPoint);
if (MPoint.x<=0) and (Mpoint.x<LastMPos.x) then SetCursorPos(ScreenWidth-1,Mpoint.y);
if (MPoint.x>=ScreenWidth-1) and (Mpoint.x>LastMPos.x) then SetCursorPos(0,Mpoint.y);
if (MPoint.y<=0) and (Mpoint.y<LastMPos.y) then SetCursorPos(Mpoint.x,ScreenHeight-1);
if (MPoint.y>=ScreenHeight-1) and (Mpoint.y>LastMPos.y) then SetCursorPos(Mpoint.x,0);
...
Обработка нажатия кнопок мыша
...
GetCursorPos(LastMPos);
end;


В итоге когда курсор мыша выйдет за границы [0..ScreenWidth] [0..ScreenHeight], он выйдет с другой стороны экрана.


 
Proton ©   (2002-07-29 13:46) [5]

setcapture ?


 
Some0ne. ©   (2002-07-29 20:15) [6]

Спасибо!
Я как раз и подозревал что так и придется делать! Ну а к примеру, если приложение оконное??? Тут уже такой способ не покатит! =(


 
SI-riuss ©   (2002-08-01 19:01) [7]

Покатит. Ты только пиши немного иначе. Перемещай мышака не тогда, когда доползешь до конца экрана, а постоянно, и не в противоположный угол, а в центр окна. Вначале фиксируешь на сколько грызун переместился, используешь это в своей проге, а затем перемещаешь его назад, в центр окна.
Я так писал, так еще круче.


 
Some0ne. ©   (2002-08-04 02:41) [8]

Кстати, точно! Так я и сделаю! Огромное спасибо, SI-riuss!



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
4-97109
Роман_
2002-12-14 19:47
2003.01.30
Как правильно передать параметр в thread


3-96624
Voland_s
2003-01-11 17:56
2003.01.30
server time out


3-96632
mate
2003-01-14 10:03
2003.01.30
DBGrid и StringGrid


1-96848
msoftware
2003-01-19 05:17
2003.01.30
Работа с TClipBoard


3-96530
denisww
2003-01-14 18:42
2003.01.30
только пошло с базами данных и ...русские буквы непонимает