Andrew |
Отправлено: 15 Августа, 2013 - 08:14:00
|
Участник
Покинул форум
Сообщений всего: 118
Дата рег-ции: Июнь 2013
Откуда: Россия
Репутация: 9
|
Kibor пишет: Но лучше выделить немного больше...
Я выделю объемы 50х33.
И задам
CODE:int x[1155];
int y[1155];
Получится
[code]activate(w);
a:
finddynamic(0, #x[0], #y[0], 1, 1, 50, 33, 0, 0, xe, ye, w);
savescreen("C:\savescreen\screen\screen"+format(n)+".bmp", 0, 0, 400, 300, w);
sleep(500);
key(DOWN);
sleep(500);
din=finddynamic(pa, #x[0], #y[0], 1, 1, 50, 33, 0, 0, xe, ye, w);
if (din>de)
{n++;goto a;}
Теперь понял, почему вы рекомендовали поставить больший размер.
Спасибо огромное. |
|
|
Kibor |
Отправлено: 15 Августа, 2013 - 08:20:57
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Обращайтесь.
Andrew пишет: finddynamic(0, #x[0], #y[0], 1, 1, 50, 33, 0, 0, xe, ye, w);
savescreen("C:\savescreen\screen\screen"+format(n)+".bmp", 0, 0, 400, 300, w);
sleep(500);
Вот в первом вызове надо указывать нули
Andrew пишет:
key(DOWN);
sleep(500);
din=finddynamic(pa, #x[0], #y[0], 1, 1, 50, 33, 0, 0, xe, ye, w);
Неправильно. Не ошибка, но это не поиск динамики а поиск только по одному меняющемуся пикселю на объем 55 на 30.
Надо хотя бы так:
din=finddynamic(pa, #x[0], #y[0], 25, 15, 50, 33, 0, 0, xe, ye, w);
finddynamic
(Добавление)
PS.. кстати все размеры искомых мест и объемов указываются в половинных размерах. То есть 5, 7, 10, 30 будет искать крестик динамичных пикселей размером 10 на 14. Если найдет то обозначит область вокруг этого крестика размером 20 на 50 как динамичную и в ней поиск производить более не будет. |
|
|
Andrew |
Отправлено: 15 Августа, 2013 - 08:30:16
|
Участник
Покинул форум
Сообщений всего: 118
Дата рег-ции: Июнь 2013
Откуда: Россия
Репутация: 9
|
finddynamic(21, #x[0], #y[0], ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);
Тут не написано просто, что:
ширина_искомого_места, высота_искомого_места-Это количесво пикселей для того, чтобы считать очаг динамичным.
объем_искомого_объекта_X, объем_искомого_объекта_Y это сам очаг. |
|
|
Kibor |
Отправлено: 15 Августа, 2013 - 08:31:51
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Andrew пишет: Тут не написано просто, что:
ширина_искомого_места, высота_искомого_места-Это количесво пикселей для того, чтобы считать очаг динамичным.
объем_искомого_объекта_X, объем_искомого_объекта_Y это сам очаг.
Там есть рисунок. На нем все обозначено.
Цитата: Для идентификации объекта все пикселя входящие в перекресток ширины и высоты искомого объекта должны быть динамичными без пропусков. На скрине они имеют красную подсветку. Центр перекрестия является координатами объекта. Он так же центр объема, в котором больше не будет искаться никакой объект. То есть даже при наличие не одного такого перекрестия данный объект будет иметь только одни координаты.
(Добавление)
Если короче, то к примеру перекресток 5 на 7, получается что должно быть 5+7-1 динамичных пикселей, которые входят в этот перекресток. Обязательное условие что перекресток должен быть без перерывов. Цельно состоящий из динамики. -1 это из за того что эти две линии пересекаются и имеют один пиксель общий |
|
|
|