我一直在制作一个复杂的机器人,并且在尝试使用imagesearch添加任何新功能时遇到了一堵砖墙。这些搜索中的大多数都需要定位(或不定位)图像。但是现在,我尝试添加的每个函数都变得疯狂,有时它只会在循环中运行,无法找到图像,有时会移动到778,194并继续点击,就好像每个搜索都应该点击778一样,我确定它过于简单了,我只是一遍又一遍地盲目阅读这些块。 源代码:
demand()
{
global img_battle
global img_battle2
global img_demand
global img_lolcheck
global img_lolmarket
global img_demandcontrol
global img_demandlower
global img_demandhigher
global img_demand2
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demand%
8:
if (ErrorLevel = 0) {
4:
MouseMove, 778, 194
Sleep, 500
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_lolmarket%
if (ErrorLevel = 0){
MouseMove, myszX + 15, myszY + 2
sleep, 500
MouseClick, Left,
sleep, 500
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_lolcheck%
if (ErrorLevel = 0) {
sleep, 500
5:
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demandcontrol%
if (ErrorLevel = 0) {
MouseMove, myszX + 15, myszY + 2
sleep, 500
MouseClick, Left,
Sleep, 500
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demandlower%
if (ErrorLevel = 0) {
MouseMove, myszX + 15, myszY + 2
sleep, 500
MouseClick, Left
Sleep, 500
6:
MouseMove, 716, 197
Sleep, 500
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_battle%
if (ErrorLevel = 0){
MouseMove, myszX +15, myszY +2
Sleep, 500
MouseClick,
Sleep, 500
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_battle2%
if (ErrorLevel = 1){
goto, 6
}
}
}
else{
goto, 5
}
}
}
else {
goto, 4
}
}
}
else{
ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demand2%
if (ErrorLevel = 1) {
goto, 8
}
}
}
答案 0 :(得分:0)
我认为你需要命令CoordMode
http://ahkscript.org/docs/commands/CoordMode.htm
该命令将各种命令(包括ImageSearch
和MouseMove
命令)的坐标模式设置为相对于活动窗口或屏幕。
将这两行添加到文件开头(函数调用之前):
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
第一行将设置ImageSearch
命令的坐标模式和MouseMove
命令相对于屏幕的第二行。