Dart_Zaiac |
Отправлено: 28 Мая, 2019 - 23:22:30
|
Участник
Покинул форум
Сообщений всего: 59
Дата рег-ции: Март 2014
Репутация: 0
|
Понадобилось найти пиксель монетки. На разных разрешениях в игре одинаковых пикселей не было и потому решил сделать разброс по цветам. И после того как findcolor не заработал, создал картинку на 1 пиксель. И Этот вариант работаетCODE:int Image_0[1][1];
Image_0[0][0]=6273776;
int PosX_1[100],PosY_1[100];
int coof1=10;
if(findimage(1, #CoinG[0][0], 0, #PosX_1[1], #PosY_1[1],w.width*0.7, w.height*0.34, w.width*0.86, w.height*0.44 ,coof1,coof1,coof1,coof1,coof1,coof1,100,1, w)>0)
{
mousemove(PosX_1[1]+w.width*0.7,PosY_1[1]+w.height*0.34);
sleep(400);
}
А Этот нет:CODE:
int PosX_1[100],PosY_1[100];
int coof1=10;
if(findcolor(1, #PosX_1[1], #PosY_1[1], w.width*0.7, w.height*0.34, w.width*0.86, w.height*0.44, 6273776, coof1,coof1,coof1,coof1,coof1,coof1,w)>0)
{
mousemove(PosX_1[1]+w.width*0.7,PosY_1[1]+w.height*0.34);
sleep(400);
}
Не работают разбросы по цветам для findcolor!!! |
|
|
Kibor |
Отправлено: 28 Мая, 2019 - 23:44:19
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Уже работает.
ЗЫ
А зачем давать указатели на второй элемент массива?
Цитата: if(findcolor(1, #PosX_1[1], #PosY_1[1], w.width*0.7, w.height*0.34, w.w.....
Это не ошибка, но тут не надо точно.
Массив начинается с 0 элемента
Цитата: if(findcolor(1, #PosX_1[0], #PosY_1[0], w.width*0. |
|
|
Dart_Zaiac |
Отправлено: 29 Мая, 2019 - 12:19:12
|
Участник
Покинул форум
Сообщений всего: 59
Дата рег-ции: Март 2014
Репутация: 0
|
Kibor пишет: Уже работает.
ЗЫ
А зачем давать указатели на второй элемент массива?
Цитата: if(findcolor(1, #PosX_1[1], #PosY_1[1], w.width*0.7, w.height*0.34, w.w.....
Это не ошибка, но тут не надо точно.
Массив начинается с 0 элемента
Цитата: if(findcolor(1, #PosX_1[0], #PosY_1[0], w.width*0.
Отлично!
Когда надо найти 100 элементов по 1 разу, то проще описать 1 массив на 100 элементов, чем 100 массивов. И искать в каждую ячейку массива Кибор позволяет, вот я и пользуюсь этим |
|
|
Zireael |
Отправлено: 20 Июля, 2019 - 20:46:53
|
Эксперт
Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Находит разное количество пикселей:
CODE:int color=2366701; // цвет
int r=10; // разбежность
int count1, count2;
int display_c, display_w, display_h;
int x[99999], y[99999];
getdisplay(display_c, display_w, display_h);
pause(1000);
count1=findcolor(-1, #x[0],#y[0], 0, 0, display_w, display_h, color, r,r,r,r,r,r, -1);
count2=findcolor(sizearray(x), #x[0],#y[0], 0, 0, display_w, display_h, color, r,r,r,r,r,r, -1);
messagebox(format(count1)+" "+format(count2)); |
|
|
|