Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: использование своих функций
Kibor
Отправлено: 08 Января, 2014 - 07:16:12
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Пример как можно упростить программирование поиска изображений с помощью своей функции. Не использовать там где надо многократно искать такое изображение.
Пример скорее теоретический, чем практический, так как при каждом поиске выполняется загрузка изображения с файла, определение разрешения экрана. Да и параметры findimage для каждого случая могут быть разные. Тут просто ищется по экрану при полном совпадение изображений.
Единственный плюс (довольно скользкий) - простота использования поиска изображений.

Функцию
CODE:
function find_image(string pyt)
{
int Image[250][250];
if (loadimage (#Image[0][0], pyt)<1)return 0;
int col, ex, ey;
getdisplay(col, ex, ey);
return findimage(1, #Image[0][0], -1, #x, #y, 0, 0, ex, ey, -1);
}

Надо вставить в конец своего скрипта.

Использовать так:
CODE:
int x, y;//Объявляем переменные в начале скрипта

//Ищем рисунки
if (find_image("C:\1.bmp")>0) mousemove(x, y);//Навести мышь на первый рисунок если нашли

if (find_image("C:\2.bmp")>0) mousemove(x, y);//Навести мышь на второй рисунок если нашли

if (find_image("C:\3.bmp")>0) mousemove(x, y);//Навести мышь на третий рисунок если нашли




//Эту функцию кидаем в конец скрипта
function find_image(string pyt)
{
int Image[250][250];
if (loadimage (#Image[0][0], pyt)<1)return 0;
int col, ex, ey;
getdisplay(col, ex, ey);
return findimage(1, #Image[0][0], -1, #x, #y, 0, 0, ex, ey, -1);
}
//Конец функции





Вот как правильно искать изображения:
CODE:
int x, y;//Объявляем переменные в начале скрипта

int Image1[250][250];
loadimage (#Image1[0][0], "C:\1.bmp");
int Image2[250][250];
loadimage (#Image2[0][0], "C:\2.bmp");
int Image3[250][250];
loadimage (#Image3[0][0], "C:\3.bmp");

int col, ex, ey;
getdisplay(col, ex, ey);


if (findimage(1, #Image1[0][0], -1, #x, #y, 0, 0, ex, ey, -1)==1) mousemove(x, y);//Навести мышь на первый рисунок если нашли

if (findimage(1, #Image2[0][0], -1, #x, #y, 0, 0, ex, ey, -1)==1) mousemove(x, y);//Навести мышь на второй рисунок если нашли

if (findimage(1, #Image3[0][0], -1, #x, #y, 0, 0, ex, ey, -1)==1) mousemove(x, y);//Навести мышь на третий рисунок если нашли


В этом случае нам не надо сто раз загружать с файла один и тот же рисунок.

Ознакомиться с loadimage тут

Ознакомиться с findimage тут
Так же тут
Демо скрипт тут

Как использовать графический редактор в Кибор тут.

Эта тема призвана пояснить почему Кибор имеет более сложную структуру языка по сравнению с другими подобными программами. Потому что это более эффективно.
 
 Top
dmh
Отправлено: 15 Сентября, 2014 - 12:08:14
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2014  
Репутация: 0




С чем связанно предупреждение "Не использовать там где надо многократно искать такое изображение"? Просто я так всегда делаю.
 
 Top
Kibor
Отправлено: 15 Сентября, 2014 - 12:10:00
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




С тем что в первом коде лишнее постоянно грузить с файла картинку.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Готовые скрипты »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by