Author Topic: Проблема при прокрутке списка  (Read 1780 times)

0 Members and 1 Guest are viewing this topic.

kuka

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Проблема при прокрутке списка
« on: June 01, 2018, 07:15:29 PM »
Есть задача - прокручивать несколько раз список там, где не работает колесо мыши.
Конечно проще всего записать сценарий и добавить его в код.
А есть ли возможность реализовать это в самом коде?
Вот такой вариант, например:
Code: (clickermann) [Select]
$vn = 589
$sn = 170

lDown(475,$vn)
waitms(70)
move(475,$vn+4)
waitms(70 )
move(475,$vn+60)
waitms(70 )
move(475,$vn+100)
waitms(70 )
move(475,$vn+$sn)
waitms(70 )
lup(475,$vn+$sn)
waitms(50)
lDown(475,$vn+$sn)
waitms(72)
lup(475,$vn+$sn)
waitms(50)
halt
перемещает список каждый раз на разное расстояние.
У меня не получается сделать так, чтобы курсор перемещался при зажатой левой кнопке мыши.
Казалось бы, очевидный метод ldown-move-lup почему-то не работает, левая кнопка мыши при перемещении отжимается

Атеист

  • Guest
Re: Проблема при прокрутке списка
« Reply #1 on: June 01, 2018, 08:39:48 PM »
MOVER() не пробовал?

kuka

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Проблема при прокрутке списка
« Reply #2 on: June 02, 2018, 01:45:10 AM »
какая разница move или mover? И так и так при перемещении курсора кнопка мыши отжимается

kuka

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Проблема при прокрутке списка
« Reply #3 on: June 02, 2018, 02:16:34 AM »
вот так попробовал, намного лучше
Code: (clickermann) [Select]
$vn = 600
$sn = 38
FOR($a, $a < 3)
   
   lDown(472,$vn)
   WAITMS(1500)
     
   mover(0,$sn)
   WAITMS(50)
   mover(0,$sn)
   WAITMS(50)
   mover(0,$sn)
   WAITMS(50)
   mover(0,$sn)
   WAITMS(50)
   mover(0,$sn)
   WAITMS(50)
   mover(0,$sn)
   WAITMS(50)
   
   lup(472,676)
   ldown(472,676)
   waitms(50)
   lup(472,676)
   waitms(50)
END_CYC

halt

kuka

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Проблема при прокрутке списка
« Reply #4 on: June 04, 2018, 07:35:07 PM »
Есть игра - tap titans 2, запускаемая на эмуляторе MEmu. В ней есть открываемый список для прокачки героев. Колесо мыши и кнопки PDown PUp там не работают.
конструкции вроде этой из справки
Code: (clickermann) [Select]
// drag & drop
// перетаскивание из точки 10:10 в точку 20:20

ldown(10, 10)
waitms(300)
lup(20, 20)
не работают тоже. То есть курсор появляется одной точке, пропадает и появляется при отжатии. Перетаскивания(что в этом случае равно прокрутке) не происходит.
Вот такая проблема, которой якобы не было.

« Last Edit: June 05, 2018, 10:13:23 AM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Проблема при прокрутке списка
« Reply #5 on: June 05, 2018, 10:01:01 AM »
Проблема в особенностях работы эмулятора. Ты ведь не говорил, что эта ситуация возникает в эмуляторе. В обычных условиях такая беда не должна возникать.
Раз колесо не работает и перемещение по конечным точкам, значит эмулятор сам обрабатывает все действия мыши, сканируя её положение через определённые промежутки времени. Это обычно сильно тормозит обработку, наверно поэтому эмуляторы такие тормозные.

В твоём первом скрипте смещение по Y идёт на +4  +56  +40  +70 px
Может это слишком много, поэтому не срабатывает. Во втором скрипте mover сдвигает на 38.
Может задержек не хватает. Нужно тестировать или ждать ответов от людей плотно работающих с эмуляторами.