Author Topic: Клик по второй картинке  (Read 2098 times)

0 Members and 1 Guest are viewing this topic.

Otlichnii_paren

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Клик по второй картинке
« on: March 02, 2020, 03:12:54 AM »
В общем такая тема надо кликнуть по первой картинке потом по второй потом по мере прохождения кода по 10ой и т.д. Реализовал это так:

...
GETSCREEN
colormode (3)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "ноа.bmp", -1, 100)
$i=0
   rCLICK($ARR_SCAN[$i], $ARR_SCAN[$i+1])
   WAITMS(100)
UNDEFINE($ARR_SCAN)
.....
GETSCREEN
colormode (3)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "ноа.bmp", -1, 100)
$i=0,
   rCLICK($ARR_SCAN[$i+2], $ARR_SCAN[$i+3])
   WAITMS(100)
UNDEFINE($ARR_SCAN)
....
Все работает как надо, но может есть более простой вариант исполнения данной задачи?
кликать надо не по порядку, поэтому не циклирую и картинки местами меняются...



И еще вопрос следующий из предыдущего, как более коротко организовать rnd() нажатие на один и те же картинки на странице если их 20-30 ?  отдельно для каждой прописывать sub будет слишком грамоздко. а вгонять координаты в одну переменную вроде нельзя


И еще раз уж задал вопросы то сразу же тот который меня всегда интересовал, если какая то возможность интегрировать или активировать горячую клавиши для нажатия пузы а не полной остановки клкермана? А то бывает мышь в работе и не можешь даже дотянуться до кнопки пауза, когда надо вдруг срочно сходить на соседние вкладки. А полностью останавливать сценарий не желательно.
« Last Edit: March 02, 2020, 05:05:03 AM by Otlichnii_paren »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Клик по второй картинке
« Reply #1 on: March 02, 2020, 10:11:29 AM »
И еще раз уж задал вопросы то сразу же тот который меня всегда интересовал, если какая то возможность интегрировать или активировать горячую клавиши для нажатия пузы а не полной остановки клкермана? А то бывает мышь в работе и не можешь даже дотянуться до кнопки пауза, когда надо вдруг срочно сходить на соседние вкладки. А полностью останавливать сценарий не желательно.
Ээээ... Так какая пуск, такая и пауза, по умолчанию ALT+A. Кнопка ведь подменяется.

Если у тебя картинки не пропадают. Если ты говоришь номера их прописываешь заранее, значит порядок один.
Зачем ты каждый раз делаешь?
Code: (clickermann) [Select]
GETSCREEN
colormode (3)
SCANPICTURE
...
UNDEFINE($ARR_SCAN)


И еще вопрос следующий из предыдущего, как более коротко организовать rnd() нажатие на один и те же картинки на странице если их 20-30 ?  отдельно для каждой прописывать sub будет слишком грамоздко. а вгонять координаты в одну переменную вроде нельзя
Ищешь картинку через SCANPICTURE и через RND выбираешь случайную пару  x,y в найденном массиве.
Или что ты хочешь, не очень понятно.


Otlichnii_paren

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Клик по второй картинке
« Reply #2 on: March 02, 2020, 09:58:44 PM »
Quote
RND выбираешь случайную пару  x,y в найденном массиве
Как это реализвать на примере? как впихнуть пару в 1 рандом?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Клик по второй картинке
« Reply #3 on: March 02, 2020, 11:02:44 PM »
Пар координат, в 2 раза меньше чем всего координат. Логично? Всего координат = длина масива, значит пар ARRSIZE($arr)/2
Выбираешь случайное число от 0 до 'количество пар'-1
RND(0, (ARRSIZE($arr)/2) - 1)
Если полученное число умножим назад на 2, получим индекс попадающий на координату X- первую из пары.
Т.е. мы получаем одно из чисел ряда 0, 2, 4, 6, ... Чётные до конца массива.
Число по этому индексу будет X, по следующему - Y
Code: (clickermann) [Select]
$ind = RND(0, (ARRSIZE($arr)/2) - 1) * 2
$x = $arr[$ind]
$y = $arr[$ind+1]
Как то так.
« Last Edit: March 02, 2020, 11:04:24 PM by Vint »