作者WLR (WLR™)
看板EzHotKey
标题[AHK-] 内圈Loop如何跳到外圈Loop第一行?
时间Tue Oct 11 04:17:04 2016
程式码如下,想请教:
如果不用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有哪种写法能从内圈跳到外圈第一行去? 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.127.152.167
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1476130628.A.10D.html
※ 编辑: WLR (59.127.152.167), 10/11/2016 04:31:37
1F:推 eight0: 用 Goto 10/11 11:07
2F:→ eight0: continue 跟 break 也可以指定要退出哪一层 10/11 11:08
3F:→ eight0: 或是把 Loop 搬到一个 label 底下,用 return + Gosub 10/11 11:09
4F:→ WLR: 感谢,最後还是把黄Loop里的条件搬到绿Loop里去解决 10/11 20:38