Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите! Как написать простой AI [D5, XP]


Страницы:   1 2

Knob ©   (2007-07-14 14:25:00) 

Мне нужно сделать так чтобы программа находила координаты курсора мышию. И чтобы форма медленно за ним двигалась(но не по диогонале).


Shamansky_ne   (2007-07-14 15:38:00) [21]


> Zagaevskiy ©   (

из примера видно, что интервал таймера - задержка с которой будет перемещаться форма вслед за курсором, а скорость движения формы будет такая же как и у курсора, то есть неравномерная во времени, т.к. добиться равномерного движения мышкой навряд удастся.
Если же необходма реализация вида, сдвинул курсор, и форма начала с некоторой скоростью повторять траекторию, которую прошел курсор, то это уже совсем другое дело.


Zagaevskiy   (2007-07-14 15:25:00) [22]

Это если скорость движения формы должна меняться.А если нет?


Shamansky_ne   (2007-07-14 15:24:00) [23]

я так понял, что форма должна постоянно двигаться за курсором, а плавность достигается уменьшением интервала таймера
Хотя решение с таймером я считаю неправильным, правильнее было бы ловить глобальное сообщее о движении мышки


Zagaevskiy   (2007-07-14 15:08:00) [24]


> Shamansky_ne   (14.07.07 15:03) [9]


> И чтобы форма медленно за ним двигалась

Походу если курсор дёрнуть резко, то форма должна к нему плавно приближаться, но не по прямой ("диагонали")
Если я не прав, то сорри


Anatoly Podgoretsky   (2007-07-14 15:03:00) [25]

> Инс  (14.07.2007 14:53:03)  [3]

Вот это и есть твое AI


Shamansky_ne   (2007-07-14 15:03:00) [26]

procedure TForm1.Button1Click(Sender: TObject);
begin
if timer1.Enabled then
timer1.Enabled:=false
else timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
p:TPoint;
begin
GetCursorPos(p);
application.MainForm.Top:=p.Y-10;
application.MainForm.Left:=p.X-10;
end;


10 - отступы от курсора
интервал на таймере ставишь по своему желанию
эту функцию хочешь цепляешь на таймер, как сделано у меня, хотя наверное правильнее было отлавливать событие движения мышки


Zagaevskiy   (2007-07-14 15:01:00) [27]

Всегда пожалста


Knob   (2007-07-14 14:59:00) [28]

Спасибо


Zagaevskiy   (2007-07-14 14:58:00) [29]


> Как курсор мыши найти? На форме ясно, а на рабочем столе?

GetCursorPos()?


Zagaevskiy   (2007-07-14 14:55:00) [30]


> но не по диогонале

Чего? Как сделать по диагонали знаешь?


Knob   (2007-07-14 14:55:00) [31]

Как курсор мыши найти? На форме ясно, а на рабочем столе?


Инс   (2007-07-14 14:53:00) [32]


> но не по диогонале


А как?


Kolan   (2007-07-14 14:50:00) [33]

> [1] Knob ©   (14.07.07 14:48)
> Ну помогите!

Свойства Top, Left у формы есть.


> Ну помогите!

Конкретно что не получается? Где вопросы — нет. Вот и ответов тоже нет.


Knob   (2007-07-14 14:48:00) [34]

Ну помогите!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо