是否可以设置像素搜索优先级?
问题描述:
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()
}
}