AutoIt图像搜索无法正常工作

时间:2013-12-10 22:06:12

标签: image search scripting autoit scripting-language

我试图点击在Flash游戏中弹出的不同图像,但我的脚本无法正常工作。

有时它的工作方式应该如此,但有时光标会向上移动到左角并因某种原因停留在那里。

我可能做错了什么?

继承我的代码:

#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

也可以识别正在移动的“图像”是这样还是类似的方式?

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

ImageSearch可以找到动态图片,但您需要优化其搜索区域。

  • 使用_ImageSearchArea缩小搜索范围。
  • 试用您的搜索图片(尽量缩小)
  • 尝试变体(这可能是您的鼠标的原因 表演奇怪)
  • 最后,请改用PixelSearch。

答案 2 :(得分:0)

下面:

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

更改为:

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

它会正常工作。