多个_ImageSearch,使这更快

时间:2013-12-09 13:55:01

标签: firefox automation bots autoit

嘿伙计们, 现在我想知道如何让我的扫描速度更快,找到并点击图像大约需要6-7秒。


    Func Prison()
       $prison = _ImageSearch("Admit1.BMP",0,$x,$y,50)
       $prison1 = _ImageSearch("Admit2.BMP",0,$x1,$y1,50)
       $prison2 = _ImageSearch("Admit3.BMP",0,$x2,$y2,50)
             If $prison = 1 Then
             MouseClick("left", $x, $y)
               sleep(2000)
                  send("{ENTER}")
               sleep(3000)
                  send("{NUMPAD2}")
               sleep(1000)
                  Send("{ENTER}")
               sleep(1000)
                  If WinActive("Sidan på www.xxxxxx.nu säger:", "Du har inte råd!") Then
                     sleep(1000)
                     MouseClick("left", 326, 346)
                     sleep(1000)
                     MouseClick("left", 446, 273)
                     sleep(1000)
                     MouseClick("left", 477, 326)
                     sleep(600)
                     send("{8}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(600)
                     MouseClick("left", 666, 326)
                     sleep(1000)
                     send("{NUMPAD2}")
                     sleep(1000)
                  EndIf
             ElseIf $prison1 = 1 Then
             MouseClick("left", $x1, $y1)
               sleep(2000)
                  send("{ENTER}")
               sleep(3000)
                  send("{NUMPAD2}")
               sleep(1000)
                  Send("{ENTER}")
               sleep(1000)
                  If WinActive("Sidan på www.xxxxxx.nu säger:", "Du har inte råd!") Then
                     sleep(1000)
                     MouseClick("left", 326, 346)
                     sleep(1000)
                     MouseClick("left", 446, 273)
                     sleep(1000)
                     MouseClick("left", 477, 326)
                     sleep(600)
                     send("{8}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(600)
                     MouseClick("left", 666, 326)
                     sleep(1000)
                     send("{NUMPAD2}")
                     sleep(1000)
                  EndIf
             ElseIf $prison2 = 1 Then
             MouseClick("left", $x2, $y2)
               sleep(2000)
                  send("{ENTER}")
               sleep(3000)
                  send("{NUMPAD2}")
               sleep(1000)
                  Send("{ENTER}")
               sleep(1000)
                  If WinActive("Sidan på www.xxxxxx.nu säger:", "Du har inte råd!") Then
                     sleep(1000)
                     MouseClick("left", 326, 346)
                     sleep(1000)
                     MouseClick("left", 446, 273)
                     sleep(1000)
                     MouseClick("left", 477, 326)
                     sleep(600)
                     send("{8}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(600)
                     MouseClick("left", 666, 326)
                     sleep(1000)
                     send("{NUMPAD2}")
                     sleep(1000)
                  EndIf
               EndIf
    EndFunc

1 个答案:

答案 0 :(得分:1)

确保使用尽可能小的图片并尽量避免变化。 我猜您的脚本很慢,因为您的搜索目标正在移动/更改。这可能是它没有立刻找到它的原因。多数民众赞成你使用变异吗? 为了加快图像检测速度,您应该使用较小的搜索区域。 你可以使用

来做到这一点
$result = _ImageSearchArea("recycle2.bmp",1,0,0,200,200,$x1,$y1,0)

在此示例中,它将搜索屏幕左上角的方块200x200。

你也可以考虑使用 PixelSearch ,它更快,你也可以缩小搜索范围。