Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
6-96940
Eugenex
2002-12-02 11:37
2003.01.30
Страничка Свойства хоста?


3-96535
lutikh
2003-01-10 22:22
2003.01.30
Кнопка НАЙТИ ДАЛЕЕ в TFindDialog


14-97031
khov
2003-01-13 19:17
2003.01.30
Компонент для работы с DBF


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


3-96541
sterran
2003-01-15 09:35
2003.01.30
Востановление записей помечанных на удаление




   Наверх