Есть 2 вертикальных ряда картинок. В первом ряду картинки разные, во втором одинаковые. Нужно найти картинку в первом ряду и потом найти картинку напротив неё.
Выглядит это примерно так:
..........
..........
..........
..........
..........
Думал сделать так:
int Image_1[24][14], Image_2[24][14];
int PosX_0[1];int PosY_0[1];
loadimage (#Image_1[0][0], "C:\1.bmp" );
loadimage (#Image_2[0][0], "C:\1.bmp" );
int PosX_1[1];int PosY_1[1];
findimage(-1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, 1920, 979, -1);
if (findimage(-1, #Image_2[0][0], 0, #PosX_0[0], #PosY_0[0], PosX_1[0], PosY_1[0]-25, PosX_1[0]+1000, PosY_1[0]+40, -1)==1);
{
mouse(LEFT, PosX_0[0], PosY_0[0]);
}
Результат: Первую картинку находит. Находит и вторую картинку. Но! клик проходит совсем не по тем координатам что нам надо.
Помогите понять что я сделал не так.
1. werter85 - 20 Ноября, 2014 - 03:47:43 - перейти к сообщению
2. Kibor - 20 Ноября, 2014 - 03:55:09 - перейти к сообщению
mouse(LEFT, PosX_0[0]+PosX_1[0], PosY_0[0]+(PosY_1[0]-25));
3. werter85 - 20 Ноября, 2014 - 04:04:29 - перейти к сообщению
Kibor пишет:
mouse(LEFT, PosX_0[0]+PosX_1[0], PosY_0[0]+(PosY_1[0]-25));
Большое спасибо!
Как раз так и сделал. Оказалось что координаты клика были относительно всего окна, а не части поиска которую я задал. Поэтому нужно было добавить координаты начала поиска второй картинки.
PS. Кажется всё так просто... а я пару часов голову себе ломал.