Что нового

Проблема с поиском трех цветов в одних кординатах

Serega1383

Новичок
Сообщения
25
Репутация
0
Посмотрите, что не так написано. Значит скрипт должен делать вот, что:
1. Жмет мышкой в кординаты 608, 78.
2. В области (145, 500, 152, 505) ищет два цвета (0x3E5F80 и 0xCC3333).
3. если находит хоть один из вышеуказанных цветов, то начинает цикл сначала с пункта 1. Если не находит то жмет мышкой один раз в (238, 505) и затем два раза в (434, 625).
Код:
HotKeySet("{ESC}", "quit")
Func quit()
    Exit
 EndFunc

$Color1[2] = [0xCC3333, 0x3E5F80]

While 1
MouseClick("left", 608, 78)
    $Variable=PixelSearch(145, 500, 152, 505, $Color1)
	 If IsArray($Variable)=True Then
MouseClick("left", 608, 78)

Else IsArray($Variable)=False Then
   MouseClick("left", 238, 505)
   Sleep(100)
   MouseClick("left", 434, 625)
   Sleep(100)
   MouseClick("left", 434, 625)

EndIf
Wend
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Serega1383, PixelSearch не принимает массив в качестве параметра цвета
 
Автор
S

Serega1383

Новичок
Сообщения
25
Репутация
0
Помогите новичку как лучше тогда написать
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Serega1383, если вас не волнует производительность то проще всего будет искать два цвета отдельно

Код:
HotKeySet("{ESC}", "_Exit")

Global $iColor1 = 0xCC3333, $iColor2 = 0x3E5F80

While Sleep(10)
	MouseClick("left", 608, 78)
	If Not IsArray(PixelSearch(145, 500, 152, 505, $iColor1)) And Not IsArray(PixelSearch(145, 500, 152, 505, $iColor2)) Then
		MouseClick("left", 238, 505)
		Sleep(100)
		MouseClick("left", 434, 625, 2)
	EndIf
WEnd

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Верх