2013-12-10 2 views
2

Im пытается щелкнуть различные изображения, которые появляются в флеш-игре, но мой скрипт работает неправильно.Поиск изображений AutoIt не работает должным образом

Иногда он работает так, как должен, хотя иногда курсор просто перемещается в левый угол и остается там по какой-то причине.

Что я могу делать неправильно?

Heres мой код:

#include <ImageSearch.au3> 

HotKeySet("{F7}", "Start") 
HotKeySet("{ESC}","Stop") 

$X = 0 
$Y = 0 
$X1 = 0 
$Y1 = 0 

Func Start() 
    While 1 
     $Search = _ImageSearch('pic1.bmp',0,$X,$Y,10) 
     $Search1 = _ImageSearch('pic2.bmp',0,$X,$Y,10) 
     If $Search = 1 Then 
      MouseMove($X, $Y,5) 
      MouseClick("Left") 
     ElseIf $Search1 = 1 Then 
      MouseMove($X1, $Y1,5) 
      MouseClick("Left") 
     EndIf 
     Sleep(200) 
    WEnd 
EndFunc 

Func Stop() 
    Exit 
EndFunc 

While 1 
    Sleep(200) 
WEnd 

Также это можно признать «образа», которые двигаются это, или похожий способ?

+1

'ImageSearch.au3' не является стандартным AutoIt. Не могли бы вы ссылаться на источник файла? Вы можете получить дополнительную помощь, связавшись с автором напрямую или разместив в нем поток на форумах AutoIt, предполагая, что он есть. – Matt

ответ

2

Не уверен, но я думаю, вам нужно добавить эту строку.

Start() 
Func Start() 

изменить Также этот

$Search = _ImageSearch('pic1.bmp',0,$X,$Y,10) 
$Search1 = _ImageSearch('pic2.bmp',0,$X,$Y,10) 

MouseMove($X, $Y,5) 
MouseClick("Left") 

к этому.

$Search = _ImageSearch("pic1.BMP",0,$X,$Y,50) 
$Search1 = _ImageSearch("pic2.BMP",0,$X1,$Y1,50) 

MouseClick("Left", $X, $Y, 1, 5) 
MouseClick("Left", $X1, $Y1, 1, 5) 
+0

спасибо! это решило проблему! – Danjoa

0

Поиск изображений может найти движущиеся изображения, но вам нужно оптимизировать область поиска.

  • Используйте _ImageSearchArea, чтобы сузить область поиска.
  • Эксперимент с поиска изображений (сделать их как можно меньше)
  • Эксперимент с вариациями (Это может быть причиной для мыши себя странно)
  • В конце концов, использовать PixelSearch вместо этого.
0

Здесь:

$Search1 = _ImageSearch('pic2.bmp',0,$X,$Y,10) 

изменение выше этого:

$Search1 = _ImageSearch('pic2.bmp',0,$X1,$Y1,10) 

, и он будет работать нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^