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

看板EzHotKey作者 (WLR™)時間8年前 (2016/10/11 04:17), 8年前編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
程式碼如下,想請教: 如果不用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://www.ptt.cc/bbs/EzHotKey/M.1476130628.A.10D.html ※ 編輯: WLR (59.127.152.167), 10/11/2016 04:31:37

10/11 11:07, , 1F
用 Goto
10/11 11:07, 1F

10/11 11:08, , 2F
continue 跟 break 也可以指定要退出哪一層
10/11 11:08, 2F

10/11 11:09, , 3F
或是把 Loop 搬到一個 label 底下,用 return + Gosub
10/11 11:09, 3F

10/11 20:38, , 4F
感謝,最後還是把黃Loop裡的條件搬到綠Loop裡去解決
10/11 20:38, 4F
文章代碼(AID): #1N-_T44D (EzHotKey)
文章代碼(AID): #1N-_T44D (EzHotKey)