Что нового

Поиск пикселя заданное количество раз

iwak

Новичок
Сообщения
28
Репутация
0
Как выполнить поиск пикселя заданное количество раз?

Что-то вроде:

Код:
$pix = _pixelsearch(0, 0, 100, 100, 0x000000, 1, 1)
if $pix = 1 then
continue
elseif $pix = 0 then
do ; Выполнять повторный поиск всего 5 раз. В случае если пиксель будет найден - продолжить работу. В случае если он все же не будет найден - выход из скрипта;
sleep(100)
$pix = _pixelsearch(0, 0, 100, 100, 0x000000, 1, 1)
until $pix = 1
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
iwak
http://autoit-script.ru/autoit3_docs/keywords/For.htm
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Как-то так:
Код:
For $i=1 To 5
   $pix = PixelSearch(0, 0, 100, 100, 0x000000, 1, 1)
   If Not @error Then 
	  MsgBox(64, "Инфо", "Пиксель найден x=" & $pix[0] & "; y=" & $pix[1])
	  ExitLoop
   Else
	  MsgBox(48, "", "Пиксель отсутствует. Выход")
	  Exit
   EndIf
Next

MsgBox(0, "Продолжение", "Скрипт продолжает выполнять код далее")
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
; Выполнять повторный поиск всего 5 раз. Ok!
; В случае если пиксель будет найден - продолжить работу. Ok!
; В случае если он все же не будет найден - выход из скрипта. Ok!

$iCount = 0

For $i = 1 to 5
   $iColor = PixelSearch(0, 0, 100, 100, 0x000000, 1, 1) ; found
   If Not @error Then
	  $iCount +=1
   Else
	  ; В случае если пиксель не найден за 1 or 2 or 3 or 4 проход, что делаем ???
   EndIf
Next

If $iCount = 0 Then Exit ; Выход из скрипта.
MsgBox(64, 'Продолжаем работу!', StringFormat('Found %d time', $iCount))
 
Автор
I

iwak

Новичок
Сообщения
28
Репутация
0
Всем спасибо за ответы. Сделал так:

Код:
$i = 0

For $i = 5 to 1 step -1
ToolTip("Поиск", 512, 512)
$pix = PixelSearch(0, 0, 100, 100, 0x000000, 1, 1)
If $pix = 1 Then
ToolTip("Найдено", 512, 512)
ExitLoop
Else
ToolTip("Не найдено. Повторный поиск.", 512, 512)
EndIf
Next

If $i = 0 Then
Tooltip("По прежнему не найдено. Выход из скрипта.", 512, 512)
exit
EndIf

msgbox(0, "Найдено", "Продолжаю работу")


Вроде работает как надо.
 
Верх