Author Topic: одновременное нажатие и поиск цвета  (Read 6865 times)

0 Members and 2 Guests are viewing this topic.

svalvi

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Суть проблемы такая:Нужно одновременно нажимать кнопки на виртуальной клавиатуре и проводить поиск цвета на экране,по отдельности скрипт могу составить а вот как сделать это одновременно.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #1 on: April 08, 2014, 11:10:01 AM »
ну сделай последовательно в чем проблема то. поиск цвета даже на всем экране занимает меньше секунды.
ищет, тыкает, снова ищет, снова тыкает...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #2 on: April 08, 2014, 11:16:40 AM »
Может ему нужно зажимать кнопки и искать?
Нужно как то подробнее описывать что ты там делаешь. Привести свои скрипты.

svalvi

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #3 on: April 09, 2014, 03:57:43 PM »
Скрипт цикличен
KEYDOWN(#1) зажимает клавишу "1"
WAIT(10)       ждём 10 сек
KEYUP(#1)    отпускаем клавишу "1"
LCLICK(20,10)  клик по клавише   "2"
А как вставить чтоб поиск шёл одновременно со скриптом в течении всего времени?

GETSCREEN
if_pixel_in(746,394,880,425,3355443)  поиск цвета
lclick($_return1, $_return2) клик по цвету
Дальше опять работа скрипта
« Last Edit: April 09, 2014, 04:05:14 PM by svalvi »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #4 on: April 09, 2014, 04:16:39 PM »
Скрипт цикличен
KEYDOWN(#1) зажимает клавишу "1"
WAIT(10)       ждём 10 сек
KEYUP(#1)    отпускаем клавишу "1"
LCLICK(20,10)  клик по клавише   "2"
А как вставить чтоб поиск шёл одновременно со скриптом в течении всего времени?

GETSCREEN
if_pixel_in(746,394,880,425,3355443)  поиск цвета
lclick($_return1, $_return2) клик по цвету
Дальше опять работа скрипта
Code: (clickermann) [Select]
KEYDOWN(#1)
$time = $_ms + 10000
GETSCREEN
WHILE($time > $_ms)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

KEYUP(#1)
WAITMS(20)
LCLICK(20,10)
WAITMS(50)


svalvi

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #5 on: April 10, 2014, 07:11:37 PM »
$time = $_ms + 10000
GETSCREEN
WHILE($time > $_ms)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

А можно разжевать? Пожалуйста.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #6 on: April 10, 2014, 08:47:17 PM »
$time = $_ms + 10000
GETSCREEN
WHILE($time > $_ms)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

А можно разжевать? Пожалуйста.

$time = $_ms + 10000                                   // переменная равно другая переменная плюс десять тыщ
GETSCREEN                                                    // сделать снимок экрана
WHILE($time > $_ms)                                    // задаем цикл с условием если переменная больше другой переменной
   GETSCREEN                                                 // то сделать снимок экрана
   IF_PIXEL_IN(746,394,880,425,3355443)   // найти пиксель с таким то цветом по таким то координатам
      LCLICK($_return1,$_return2)                 // если пиксел найден нажать ЛКП в точку с найденым пикселом
   END_IF                                                       // закрываем условие поиска пиксела
   WAITMS (50)                                              // ждем писят милисекунд
END_CYC                                                      // закрываем цикл


что может быть не понятного когда для первоклашек разжевано в инструкции к программе?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #7 on: April 10, 2014, 09:41:11 PM »
$time = $_ms + 10000
GETSCREEN
WHILE($time > $_ms)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

А можно разжевать? Пожалуйста.

$time = $_ms + 10000    -     это не просто переменная равно переменная... . $_ms - это  системный таймер Windows, отсчитывающий миллисекунды с момента старта ОС . тоесть если в момент старта скрипта $_ms (например) равно 100 000, то $time (в момент старта скрипта) будет равна 110 000 . следовательно цикл WHILE($time > $_ms) будет работать, пока $_ms нестанет больше 110 000. следовательно цикл будет работать ровно 10000мс, что равно 10с
« Last Edit: April 10, 2014, 09:46:27 PM by eduard »

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #8 on: April 10, 2014, 09:51:55 PM »
$time = $_ms + 10000
GETSCREEN
WHILE($time > $_ms)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

А можно разжевать? Пожалуйста.

$time = $_ms + 10000    -     это не просто переменная равно переменная... . $_ms - это  системный таймер Windows, отсчитывающий миллисекунды с момента старта ОС . тоесть если в момент старта скрипта $_ms (например) равно 100 000, то $time (в момент старта скрипта) будет равна 110 000 . следовательно цикл WHILE($time > $_ms) будет работать, пока $_ms нестанет больше 110 000. следовательно цикл будет работать ровно 10000мс, что равно 10с

когда писал коментарий немного задумался на этом моменте, но решил не напрягать мосг и тупо принял за обычную перменную чтото даже знак "_" перед именованием переменной не смутил )

svalvi

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #9 on: April 12, 2014, 07:18:09 AM »
большое спасибо

schaft

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #10 on: May 04, 2014, 02:21:35 PM »
Code: (clickermann) [Select]
KEYDOWN(#1)
$time = $_ms + 10000
GETSCREEN
WHILE($time > $_ms)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

KEYUP(#1)
WAITMS(20)
LCLICK(20,10)
WAITMS(50)

А можно и так
Code: [Select]
KEYDOWN(#1)
$a=0
GETSCREEN
WHILE($a=0)
   GETSCREEN
   IF_PIXEL_IN(746,394,880,425,3355443)
      LCLICK($_return1,$_return2)
   END_IF
   WAITMS (50)
END_CYC

KEYUP(#1)
WAITMS(20)
LCLICK(20,10)
WAITMS(50)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #11 on: May 04, 2014, 06:20:38 PM »
А можно и так...

В условиях было, искать не более 10 секунд, а у тебя будет искать бесконечно

schaft

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: одновременное нажатие и поиск цвета
« Reply #12 on: May 04, 2014, 08:47:54 PM »
точно, не увидел.