Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-96993
Vox
2003-01-12 15:19
2003.01.30
ОС на паскале!


1-96732
Part
2003-01-20 13:39
2003.01.30
Помогите плиз!!!


1-96836
Tundra
2003-01-20 13:22
2003.01.30
Как узнать координаты курсора мыши находящегося над формой.


3-96588
Шевченко Александр
2003-01-10 17:08
2003.01.30
Как создать локальную таблицу DBF или DB компонентами ADO?


1-96814
beginer_
2003-01-20 11:01
2003.01.30
Как запустить программу и дождаться её завершения?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский