Что нового

[Мышь, клавиатура] В зависимости от цвета выполнить действие.

batelcipse

Новичок
Сообщения
2
Репутация
0
Версия AutoIt: 3.3.0.0

Описание: Здравствуйте. Помогите с примером.
Задача такая: Нужен одновременный поиск разных цветов в разных местах экрана. Например если в окне браузера в координатах х,у появляется красный цвет, то выполнить маусклик в координаты х+100,у+100 . А если в координатах х+50,у появляется зеленый цвет, тогда маусклик х+150,у+150
В любом варианте после маусклика общий скрипт должен продолжиться, т.е. например открывается мессейджбокс с сообщением, какой цвет найден(или не указывая какой цвет).
Словесное описание нужных действий: скрипт ждет появления цвета, и в зависимости от появившегося цвета (в разных координатах) выполняет определенные действия.

Примечания: Цвета не могут появиться одновременно
 
Автор
B

batelcipse

Новичок
Сообщения
2
Репутация
0
В общем вот что получилось:
Код:
While 1   
		
If PixelGetColor(592, 482) = 0x440100 Then
	MouseClick("left", 801, 526)
	While 1
    PixelSearch(693, 195, 693, 195, 0x495054)
    If Not @error Then ExitLoop
    Sleep(50)
WEnd
MouseClick("left", 787, 607)
	ExitLoop
EndIf


If PixelGetColor(702, 390) = 0xC71B11 Then
	MouseClick("left", 787, 607)
	ExitLoop
EndIf

 If PixelGetColor(939, 724) = 0xF3F54C Then
	MouseClick("left", 910, 724)
	While 1
	PixelSearch(939, 725, 939, 725, 0x575909)
    If Not @error Then ExitLoop
    Sleep(500)
WEnd

	If PixelGetColor(693, 195) = 0x495054 Then
	MouseClick("left", 787, 607)
	ExitLoop
EndIf
If PixelGetColor(702, 390) = 0xC71B11 Then
	MouseClick("left", 787, 607)
	ExitLoop
EndIf
	ExitLoop
EndIf
PixelSearch(851, 303, 851, 303, 0x2C3459)
    If Not @error Then ExitLoop
    Sleep(500)
	
WEnd

У меня вопрос: вот эти строчки в конце
Код:
PixelSearch(851, 303, 851, 303, 0x2C3459)
    If Not @error Then ExitLoop
я нашел здесь http://autoit-script.ru/index.php/topic,513.0.html , как они действуют? И почему без них While - WEnd в моем коде не работает? Вернее работает, но проходит всего 1 раз.
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Это задает координаты поиска пикселя и его цвет. Если пиксель не найден, то к @error устанавливается значение 1 и по коду цикл продолжается. Если пиксель найден, то к @error устанавливается значение 0 и происходит выход из цикла.
 
Верх