Что нового

[Автоматизация] Ищет цвет пока не найдет

muzzy

Новичок
Сообщения
4
Репутация
0
Версия AutoIt:
v3.2.5.4
Описание:
программа ищет цвет в заданной области пока не найдет.
Примечания:
ДОбрый день. Подскажиет плз как по-умному это сделать.
Пытался реализовать так
Код:
#include <Array.au3>
Dim $cord[1]
$cord[0] = "3"
while 1
$cord = PixelSearch(50,350, 700,485,0xcccccc,1)
if $cord[0] <> "3" ExitLoop
wend
и вот так
Код:
while @error
	$cord = PixelSearch(50,350, 700,485,0xсссссс,1)
wend
   MsgBox(0, "X and Y are:", $cord[0] & "," & $cord[1])
оба не пашут.
Работает лишь способ указанный в мануале.
Код:
; Find a pure red pixel in the range 0,0-20,300
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000 )
If Not @error Then
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf
Только он ищет всего раз.А вот как сделать цикл, который будет искать пока не найдет ума не приложу.
 

SyDr

Сидра
Сообщения
651
Репутация
158
Код:
While 1
	PixelSearch(...)
	If Not @error Then ExitLoop
	Sleep(50)
WEnd
 
Автор
M

muzzy

Новичок
Сообщения
4
Репутация
0
Спасибо :smile:
 

warshadow

Новичок
Сообщения
62
Репутация
0
А такой вопрос, как реализовать чтобы искал сначала первый пиксель - его обрабатывал, а потом второй и его обрабатывал и возваращался опять к первому итд..
Код:
if GUICtrlRead($mish1)= $GUI_CHECKED  then
				        While 1
					$aRed_Perem1 = PixelSearch(2,2,@DesktopWidth, @DesktopHeight,0x6A421E,0,1);1-й пиксель
					$aRed_Perem2 = PixelSearch(0,0,@DesktopWidth, @DesktopHeight,0x886212,0,1);2-й пискель
					if not @error then ExitLoop
					ToolTip("Поиск Объекта !",@DesktopWidth/2,1)
					Sleep(50)
					WEnd	
					GUICtrlRead($aRed_Perem1)
					MouseClick("left", $aRed_Perem1[0], $aRed_Perem1[1],3,2)
					ReDim $aRed_Perem1
					GUICtrlRead($aRed_Perem2)	
 					MouseClick("left", $aRed_Perem2[0], $aRed_Perem2[1],3,2)
 					ReDim $aRed_Perem2
					EndIf
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Может сразу наловить пяток пикселей, а затем их циклом обрабатывать по кругу?
 
Верх