看板 EzHotKey 關於我們 聯絡資訊
程式碼如下,想請教: 如果不用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
eight0: 用 Goto 10/11 11:07
eight0: continue 跟 break 也可以指定要退出哪一層 10/11 11:08
eight0: 或是把 Loop 搬到一個 label 底下,用 return + Gosub 10/11 11:09
WLR: 感謝,最後還是把黃Loop裡的條件搬到綠Loop裡去解決 10/11 20:38