作者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/m.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