Author Topic: help  (Read 1523 times)

0 Members and 1 Guest are viewing this topic.

iliash

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
help
« on: October 02, 2015, 03:13:34 PM »
Clickermann делает GETSCREEN, потом делает второй и нажимает на ту точку, в которой изменился цвет пикселя.
Спасибо за внимание. 

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: help
« Reply #1 on: October 02, 2015, 07:25:15 PM »
Понятно о чем ты но нереально, нереально долго. Потому что такой функции нет а собирать все цвета и координаты даже а небольшой области занимает уйму времени. Даже анализ квадрата 200Х200 может занять несколько десятков секунд (зависит от компа) А уж что говорить о всем экране.

Вот такой скрипт получился
Code: (clickermann) [Select]
// область анализа
$x1 = 279 // верхний левый угол
$y1 = 376
$x2 = 397 // нижний правый
$y2 = 490

UNDEFINE($arr_1)
UNDEFINE($arr_2)
INC($x2,1)
INC($y2,1)
LOGWRITE ("Сбор данных 1")
GETSCREEN
FOR($a=$x1,$a<$x2)
   FOR($b=$y1,$b<$y2)
      ARRPUSH($arr_1, PXL($a,$b))
      ARRPUSH($arr_1, $a)
      ARRPUSH($arr_1, $b)
   END_CYC
END_CYC
LOGWRITE ("Сбор данных 1 завершен")

WAIT(2)

LOGWRITE ("Сбор данных 2")
GETSCREEN
FOR($a=$x1,$a<$x2)
   FOR($b=$y1,$b<$y2)
      ARRPUSH($arr_2, PXL($a,$b))
      ARRPUSH($arr_2, $a)
      ARRPUSH($arr_2, $b)
   END_CYC
END_CYC
LOGWRITE ("Сбор данных 2 завершен")

$siz = ARRSIZE($arr_1)
LOGWRITE ("Анализ")
FOR($a=0,$a<$siz,3)
   IF($arr_1[$a] ! $arr_2[$a])
      LCLICK($arr_1[$a+1],$arr_1[$a+2])
      $a=$siz
      WAITMS(100)
      HALT
   END_IF
END_CYC
LOGWRITE ("Сравнение завершено")
« Last Edit: October 02, 2015, 07:39:20 PM by Oraven »