Что нового

[Мышь, клавиатура] Найти точку и кликнуть

ferdeg

Новичок
Сообщения
5
Репутация
0
На экране есть область черного цвета, по ней движется белая точка, надо много-много раз кликнуть по этой точке.
Как сделать?
 

running-frag

why me?
Сообщения
441
Репутация
60
всё просто

1. узнать координаты "области чёрного цвета"
2. отследить "белую" точку
3. навести туда мышку (очень быстро, т.к. я понимаю что точка не стоит на месте)
4. кликнуть два раза

наводящее
1. узнать х1 и y1 - левый вверхний уго, х2 и y2 - правый нижний, получаем квадрат где будем искать
2. тут несколько вариантов но функция PixelSearch тебе должна помочь (для этого нужно ввести в неё наши координаты зоны поиска и нужный цвет)
3. навести мышь MouseMove (), как выставить скорость перемещения в хэлпе всё есть
4. можно без MouseMove () сразу использывать MouseClick ()


ps: это всё есть в Help файле вшитом в редакторе автоита
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
ferdeg [?]
На экране есть область черного цвета, по ней движется белая точка, надо много-много раз кликнуть по этой точке.Как сделать?
Отличное описание проблемы, не, скорее образец!!!
Ответьте мне теперь на вопрос ;)
В толпе народа движется блондин нужно вычислить его! Как это сделать?

А по существу, приведите размер и координаты чёрной области Left, Top, Right, Bottom и размер точки в писклях. Уходит точка за приделы чёрной области или она замкнута в этой области и т.д.
 
Автор
F

ferdeg

Новичок
Сообщения
5
Репутация
0
если точка постоянно находится на экране, то все работает

если время от времени исчезает, то не работает, что делать?

Код:
MouseClick("left", 312, 290, 1)
$i = 0

While $i <= 25
$coord = PixelSearch( 88,85, 530,491, 0xBCB6A6 )
MouseClick("primary", $coord[0], $coord[1], 1,1)
$i = $i + 1
WEnd
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
ferdeg [?]
если время от времени исчезает, то не работает, что делать?
Поставить условие.
Код:
MouseClick("left", 312, 290, 1)
$i = 0

While $i <= 25
	$coord = PixelSearch( 88,85, 530,491, 0xBCB6A6 )
	If IsArray($coord) Then 
		MouseClick("primary", $coord[0], $coord[1], 1,1)
		$i = $i + 1
	EndIf
WEnd
 
Верх