简体   繁体   English

多个_ImageSearch,使速度更快

[英]Multiple _ImageSearch, make this faster

Hey guys, Now I was wondering how I can make my scan go ever faster, it takes around 6-7 seconds for the image to be found and clicked on. 大家好,现在我想知道如何更快地进行扫描,找到并单击该图像大约需要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

Make sure you are using smallest possible picture and try to avoid variations. 确保使用尽可能小的图片,并尝试避免出现变化。 I guess your script is slow because your search targets are moving/changing. 我猜您的脚本运行缓慢,因为您的搜索目标正在移动/更改中。 Thats probably the reason why it doesn't find it at once. 那可能就是为什么它不能立即找到它的原因。 Thats ehy you use variation? 那就是为什么您使用变异? In order to speed up image detection, you should use smaller search area. 为了加快图像检测速度,应使用较小的搜索区域。 You can do that by using 您可以通过使用

$result = _ImageSearchArea("recycle2.bmp",1,0,0,200,200,$x1,$y1,0)

In this example it will search a square 200x200 on the top left corner of the screen. 在此示例中,它将在屏幕的左上角搜索200x200的正方形。

You can also consider using PixelSearch , its much quicker and you can also narrow the search area. 您还可以考虑使用PixelSearch ,它更快得多,并且您还可以缩小搜索范围。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM