2013-12-10 62 views
2

我試圖點擊在Flash遊戲中彈出的不同圖像,但我的腳本無法正常工作。AutoIt imagesearch無法正常工作

有時它會按照它應該的方式工作,儘管有時光標會移動到左邊角落,並因某種原因停留在那裏。

我會做什麼錯?

繼承人我的代碼:

#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

ImageSearch可以找到動態圖片,但您需要優化其搜索區域。

  • 使用_ImageSearchArea縮小搜索範圍。
  • 嘗試使用搜索照片(讓他們儘可能小)
  • 實驗與變化(這可以爲你的鼠標 舉止怪異的一個原因)
  • 最後,使用PixelSearch代替。
0

這裏:

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

改變上述這樣的:

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

,它會正常工作。