Что нового

выход из цикла при появлении пикселя

stormovik

Новичок
Сообщения
53
Репутация
1
Требуется поставить паузу в проге до момента появления нужного пикселя

Написал вот такой цикл:
Код:
While 1
	If PixelSearch(923,149,923,149,0xffffff)= True then ExitLoop
WEnd

но почему-то выхода не происходит.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
stormovik
а где ты вычитал, что PixelSearch возвращает истину/ложь?
 
Автор
S

stormovik

Новичок
Сообщения
53
Репутация
1
Редактор не выдал ошибки, вот я и решил, что выражение допустимо.

Кроме того, в справке сказано:
Если пиксел найден, то значение @error равно 0, иначе 1.
Хотя, похоже именно тут я и ошибся ((
Выходит, напрямую проверить невозможно и нужно вводить дополнительную переменную?
Скажем
Код:
While 1
    $check = PixelSearch(923,149,923,149,0xffffff)
    If Not @error Then ExitLoop
WEnd
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
stormovik
нет, переменную вводить не надо. макро @error уже определен, независимо от того используешь ты его или нет. поэтому конструкция приведенная тобой рабочая и наиболее употребимая. но, вообще, думаю, можно и так
Код:
While 1
    If IsArray(PixelSearch(923,149,923,149,0xffffff)) then ExitLoop
WEnd
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
я пробовал так, но процессор загружается на 50% правда
Код:
Do
	$colour=PixelGetColor(123, 45)
Until $colour <> 16053225
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
ggzgamer
Код:
Do
    $colour=PixelGetColor(123, 45)
    Sleep(50)
Until $colour <> 16053225
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
а 50 это нормально времени будет, чтоб не пропустить нужный момент?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
ggzgamer
ну поставь свой. мне то откуда знать как часто там у тебя пиксель мерцает. но, на всякий случай, 50 это одна двадцатая часть секунды
 
Верх