|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Клики мышкой на движущиеся на экране объекты
На экране монитора есть некоторая область и по ней перемещаются некоторые объекты (например белые кружочки с черным кружочком внутри).
Нужно сделать так, чтобы делались клики мышкой на эти движущиеся объекты Мне кажется можно как-то делать поиск объекта на экране по цвету (например кликать на белый цвет).. или искать объекты экране сравнивая с картинкой объекта и как только найдется, тут же кликать. Вот только как такое можно сделать не знаю, может кто-нибудь подскажет? какие функции для этого использовать нужно? |
#2
|
||||
|
||||
Это вы свою программу описали или надо в чужой дырки от бублика считать?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Есть просто игра одна браузерная и там на экране появляются объекты в случайном месте и потом начинают двигаться и нужно на них кликать.
Вот мне руками уже надоело.. хотел сделать процесс автоматическим. но чего-то в делфи не получается.. даже просто грубый клик по всей экранной области не работает (цикл в котором перебираются значения х и у поля игрового, а потом SetCursorPos(X,Y); Mouse_Event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); Mouse_Event(MOUSEEVENTF_LEFTUP, x, y, 0, 0); хотя в uopilot получилось, но всеравно хочу чтоб было покрасивее и в делфи.. представляю что-то типа, сделать скрин объектов, а потом искать это изображение на экране, вот только я в делфи плохо понимаю, только базу, что в институте давали.. а с графикой там вообще не учили работать, только с бд, массивами и т.п. |
#4
|
||||
|
||||
ну можно было бы делать так:
1) просканить определенную область на наличие нужного цвета 2) если цвет найден то кликаем на это место подсказка: Код:
var DC: HDC; Color: Cardinal; begin DC := CreateDC('MONITOR', nil, nil, nil); Color := GetPixel(DC, 300, 300); //получаем цвет в точке 300,300 DeleteDC(DC); end; ну в принципе и все. единственное что я бы советовал делать размер окна игры поменьше, что бы меньше надо было обходить пикселей, и как вариант можно проверять не каждый а например через 5 пикселей. p.s. что за игрушка? |