Dymobidge |
Отправлено: 17 Февраля, 2021 - 14:27:56
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2021
Репутация: 0
|
Zireael , Ваше предложение конечно дельное, но не совсем мне подошло. Например, если выполняется ожидание пикселя, (Отобразить)CODE:loop()
{
if (Z==1)
{
if (getcolor(730, 934)==0)
// где-нибудь здесь
{
mouseup(LEFT, 1170, 950);
Z=0;
}
}
if (Z==0)
{
if (getcolor(695, 934)!=0)
{
mousedown(LEFT, 1170, 950);
Z=1;
}
}
// тут проверять что нужно
sleep(10);
} то до проверки дела не доходит, следовательно мышь остаётся зажатой, хотя рыба уже поймана и проверка не выполнится.
У меня всё-таки получилось реализовать то, что я хотела с помощью меток в цикле:
Рабочий цикл (Отобразить)CODE:loop()
{
if (Z==1)
{
B:; // возвращает сюда, если readtext дал нужный текст
sleep(10); //та самая задержка, которая мне была нужна между распознаванием
if (getcolor(730, 934)==0)
{
mouseup(LEFT, 1170, 950);
Z=0;
}
else goto A; //переходит к чтению текста, в случае лжи в "if(getcolor());
}
if (Z==0)
{
C:; // и сюда, если readtext дал нужный текст
sleep(10); //та самая задержка, которая мне была нужна между распознаванием
if (getcolor(695, 934)!=0)
{
mousedown(LEFT, 1170, 950);
Z=1;
}
else goto A; //переходит к чтению текста, в случае лжи в "if(getcolor());
}
A:;
readtext(RU, #text_KIB, 40, 3, -1, -1, -1, -1, -1, 0, -1, sx_KIB+1006, sy_KIB+1005, sx_KIB+1048, sy_KIB+1029, -1);
sleep(10);
if (text_KIB=="см") goto Fn;
else
{
mouseup(LEFT, 1170, 950);
goto Dis;
}
Dis: dismiss();
Fn:;
if (Z==1) goto B; //проверка флажка к которому необходимо вернуться
else goto C;
sleep(10);
}
goto exit_KIB;
exit_KIB:;
} (Отредактировано автором: 17 Февраля, 2021 - 14:31:36) |
|
|
Zireael |
Отправлено: 18 Февраля, 2021 - 01:23:56
|
Эксперт
Покинул форум
Сообщений всего: 4472
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: с помощью меток в цикле:
Тоже самое без меток:
CODE:loop()
{
if (Z==1)
{
sleep(10); //та самая задержка, которая мне была нужна между распознаванием
if (getcolor(730, 934)==0)
{
mouseup(LEFT, 1170, 950);
Z=0;
}
}
else
{
sleep(10); //та самая задержка, которая мне была нужна между распознаванием
if (getcolor(695, 934)!=0)
{
mousedown(LEFT, 1170, 950);
Z=1;
}
}
readtext(RU, #text_KIB, 40, 3, -1, -1, -1, -1, -1, 0, -1, sx_KIB+1006, sy_KIB+1005, sx_KIB+1048, sy_KIB+1029, -1);
sleep(10);
if (text_KIB!="см")
{
mouseup(LEFT, 1170, 950);
dismiss();
}
sleep(10);
} |
|
|
|