如何解决AHK 如何让一个 SetTimer 启动另一个,而不是反转
代码的目标:
Timer CheckStart 每 3 秒迭代一次,直到找到选定的颜色。
如果找到像素 - 它会自行停止并启动 CheckStop 计时器,每 3 秒寻找另一个像素。
冲洗并重复
还有一个键绑定来检查最后启动的计时器。
#NoEnv
SendMode Input
checkstate = 0 ;just for checking state
SetTimer,CheckStart,3000
Return
CheckStart:
PixelSearch,xx,zz,710,460,730,480,0x385982,Alt RGB
if !ErrorLevel {
checkstate = 1
SetTimer,Off
SetTimer,CheckEnd,3000
Gosub,CheckEnd
}
Return
CheckEnd:
PixelSearch,670,160,725,200,0xE60014,Alt RGB
if !ErrorLevel {
checkstate = 0
SetTimer,CheckStart
}
Return
^!z:: ; Control+Alt+Z
MouseGetPos,MouseX,MouseY
PixelGetColor,color,%MouseX%,%MouseY%,Alt RGB
MsgBox (checkstate%) colour: %color%.
return
我得到了什么:
- 在我将所需的颜色提供给第一个计时器之前,键绑定工作延迟,仅在迭代之间显示状态。我可以让它异步吗?
- 在我将所需的颜色输入到第一个计时器后,检查器变为“1”,但 CheckEnd 计时器未启动。 (因此键绑定立即开始工作)
我做错了什么?还是只是禁止通过计时器启动计时器?
解决方法
没有Alt
这样的像素搜索模式,仅适用于PixelGetColor
。
我将假设这里的问题只是像素搜索需要永远。
在 Fast
模式下添加。
因此,不要尝试Alt RGB
,而是尝试Fast RGB
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。