是否可以设置像素搜索优先级?

问题描述:

hello im newbie to this macro program。它是完美的工作正常,我想循环点击绿色按钮像素,直到其屏幕,但每次有2个或更多或另一个绿色像素出现。它点击它,即使它没有成功点击它看到的第一个像素,直到它消失,并坚持点击它看到并出现的任何新的绿色像素..任何人都可以提出任何想法如何实现它?是否可以设置像素搜索优先级?

继承人的gif动画图像 http://i.imgur.com/f9TdXAa.gifv

Loop { 
PixelSearch, X, Y, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, 0x00FF00, 0, fast 
     if(ErrorLevel=0) { 
       MouseClick, left, %X%, %Y% 
      sleep, 300 



     } 

...任何人都可以提出任何想法如何实现的呢?

我有一个主意!如果在x,y位置检测到您的绿点后,您可以使用相同的像素搜索命令运行不同的例程/循环,而不是使用整个屏幕,可以计算围绕对象的窄场......比当对象不再目前,返回到搜索整个屏幕以找到另一个对象的主循环!

未测试!但应该是这样的:

MainLoop() { 
Loop { 
    PixelSearch, X, Y, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, 0x00FF00, 0, fast 
     if(ErrorLevel=0) { 
       MouseClick, left, %X%, %Y% 
      sleep, 300 
      RefinedLoop(x, y) 
} 

RefinedLoop(pX, pY) { 
    Loop { 
     pX := X + 50 
     pY := y + 50 
     dX := X - 50 
     dY := Y - 50 
     PixelSearch, X, Y, %pX%, %pY%, %dX%, %dY%, 0x00FF00, 0, fast 
      if(ErrorLevel=0) { 
       MouseClick, left, %X%, %Y% 
       sleep, 300 
      } 
      Else if (ErrorLevel <> 0) 
       i++ 
      If (i > 10) 
       MainLoop() 
    } 
}