Главная страница
    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
3-96609
Roma111
2003-01-10 11:08
2003.01.30
Выделить год


3-96528
valmont
2003-01-14 18:12
2003.01.30
Удаление из таблицы


6-96905
TankMan
2002-11-27 03:06
2003.01.30
Как узнать свой IP в сетке а не в Инете....


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


14-97021
Polevi
2003-01-11 19:27
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский