Что нового

Пауза пока не найден пиксель нужного цвета?

Ivan4310

Новичок
Сообщения
16
Репутация
0
Версия autoit v3.3.8.1!
Извините,очень устал,а сообразить не могу,и это очень бесит и выводит из себя.. спасите мою психику плиз :stars:
Есть последовательно выполняющийся скрипт,во время которого цвет в одном окне в определенном месте,через неизвестное время должен изменится!Так вот,как прописать,что бы выполнение скрипта приостановилось пока не появится необходимый цвет пикселя в нужном месте,и после этого продолжить остальную часть скрипта?
Другими словами:
предыдущая часть скрипта
...
поиск цвета в определенной зоне
если цвет не найден то искать его до тех пор пока не появится
Как только цвет появился,продолжается выполнение последующих действий
...
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Ivan4310,
Попробуйте как-то так.
Код:
;...
;1-ая часть кода
;...
;координаты:
$iX = 100
$iY = 200
$iColor = 0xFFFFFF ;цвет, котрый ждем
;пауза с проверкой через 1 сек., пока не появился нужный цвет.
;если цвет не появится, то пауза будет вечной
While PixelGetColor($iX, $iY) <> $iColor
	Sleep(1000)
WEnd
;2-ая часть кода
;...
 

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
Надо просто зациклить поиск пикселя любым удобным для вас циклом с последующим выходом из него
Пример:
Код:
While 1                                             ;Начинаем цикл
	$pixel = PixelSearch(0, 0, 500, 500, 0xFFFFFF)   ;Ищем пиксель в заданных координатах и указываем цвет пикселя (в примере белый цвет пикселя)
	if Not @error Then                               ;Если нет ошибок, т.е. пиксель найден, то...
		ExitLoop                                     ;Выходим из цикла
	Else                                                   ;Иначе...
		Sleep(100)                                  ;Пауза 100мс.
	EndIf                                       
WEnd                                          ;Конец цикла
 
Верх