Что нового

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

stormovik

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

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

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

kaster

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

stormovik

Новичок
Сообщения
45
Репутация
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 это одна двадцатая часть секунды
 
Верх