Что нового

Постоянное отслеживание цвета пиксела и выполнение одного действия

Tapok

Новичок
Сообщения
204
Репутация
0
Как сделать такое:
Отслеживаем цвет пиксела в заданных координатах, если он требуемый (например красный) - выполняем известный код (один раз). Цвет пиксела при этом может сохраниться, но код повторно не выполняем (только один раз). И только когда цвет пиксела сменится на другой, а потом снова на первоначально заданный-снова выполняем код и т.д. Т.е. когда цвет пиксела становится заданным-выполняем код ОДИН раз и ждем смены цвета пиксела на такой же, выполняем код еще раз и т.д.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Код:
While 1
  Do ; ожидание наличия красного
    Sleep(100)
    PixelSearch(10, 10, 100, 100, 0xFF0000)
  Until Not @error

  #Region код
  ConsoleWrite("Пиксель найден" & @CRLF)
  #EndRegion

  Do ; ожидание отсутствия красного
    Sleep(100)
    PixelSearch(10, 10, 100, 100, 0xFF0000)
  Until @error
WEnd



Добавлено:
Сообщение автоматически объединено:

Код:
While 1
  Do ; ожидание наличия красного
    Sleep(100)
  Until PixelGetColor(100, 100) = 0xFF0000

  #Region код
  ConsoleWrite("Пиксель найден" & @CRLF)
  #EndRegion

  Do ; ожидание отсутствия красного
    Sleep(100)
  Until PixelGetColor(100, 100) <> 0xFF0000
WEnd
 
Автор
T

Tapok

Новичок
Сообщения
204
Репутация
0
InnI, спасибо!
Первый вариант работает правильно, т.к. там как раз то, что надо-ожидание появления того же цвета пиксела в следующий раз, во втором варианте скрипт работает все время.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Tapok
во втором варианте скрипт работает все время
Это как?

Скрипты работают одинаково, только первый вариант ждёт появления пикселя в определённой области, а второй ждёт пиксель в конкретной точке.
 
Верх