[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