[AHK-] 内圈Loop如何跳到外圈Loop第一行?

楼主: WLR (WLR™)   2016-10-11 04:17:04
程式码如下,想请教:
如果不用GoSub,请问有哪个指令能够摆在内圈的黄Loop里,
在执行后,直接跳回最外圈的绿Loop的第一行呢?
$F12::
Loop {
Click 点A1 ;第一行
Click 点A2
...
Loop {
...
Loop { ;点击过程中,只要触发就重头跑起
PixelGetColor, XX, 123, 220,
if (XX = 某颜色) {
能跳到绿Loop第一行的指令
}
Break
}
...
}
Click 点A10
Click 点A11
...
Loop {
...
Loop { ;点击过程中,只要触发就重头跑起
PixelGetColor, XX, 123, 220,
if (XX = 某颜色) {
能跳到绿Loop第一行的指令
}
Break
}
...
}
Click 点A20
Click 点A21
...
}
Return
不用GoSub是因为我有写出个用GoSub的,
把绿Loop的内容设成Labela,黄Loop的内容设成Labelb,
然后在Labelb里用GoSub, Labela达成我想要的效果。
这样写出的脚本在2X分以内都能正常运作,但是只要执行超过3X分,
脚本就会当掉。google了一下 https://goo.gl/gaxp48
好像是stack overflow的问题。
有试过continue,但黄Loop里的continue跳不到绿Loop的第一行。
还是continue有哪种写法能从内圈跳到外圈第一行去? 谢谢~
作者: eight0 (欸XD)   2016-10-11 11:07:00
用 Gotocontinue 跟 break 也可以指定要退出哪一层或是把 Loop 搬到一个 label 底下,用 return + Gosub
楼主: WLR (WLR™)   2016-10-11 20:38:00
感谢,最后还是把黄Loop里的条件搬到绿Loop里去解决

Links booklink

Contact Us: admin [ a t ] ucptt.com