1 (изменено: Хичимару, 2012-02-26 02:35:54)

Тема: AHK: поиск плавающей картинки по пикселям, с последующим кликом.

Как найти картинку по пикселям, если неизвестно ее точное местонахождение. Нужно чтобы шел поиск пикселя определенного цвета (пусть будет зеленого цвета) по всему экрану. Если таковой находится, необходимо отступить от его координат, ну например на 20 пикселей по вертикали и 10 по горизонтали, после чего сравнить пиксель в данной точке с необходимым мне(уже красным). При совпадении всех пикселей (трех четырех или больше, я уже сам добавлю) необходимо произвести клик по координатам 2 найденного пикселя. ImageSearch
в игре не работает. Главная проблема с которой столкнулся это неизвестность координат первой точки.

2

Re: AHK: поиск плавающей картинки по пикселям, с последующим кликом.

Space::
   PixelSearch, XPos, YPos, 0, 0, A_ScreenWidth
                                , A_ScreenHeight
                                , 0x008000,, Fast ; green
   If !ErrorLevel
   {
      MouseMove, XPos, YPos, 50
      TrayTip,% "first color",% "green"
      PixelGetColor, CurrentColor, XPos+5, YPos+35
      If !ErrorLevel
         If CurrentColor=0x00FF00 ; lime
         {
            MouseClick,, XPos+5, YPos+35,, 100
            TrayTip,% "second color",% "lime"
         }
   }
   Else
      MsgBox,262160,% " ",% ErrorLevel=1
      ? "Not found":"There was a problem",1
   Return

В таблице именных цветов, нахожу с начало зелёный, потом соседний...