1::
Settimer, B, 10000
A:
loop
{
A 할일~~
if 조건 맞으면
goto, A2
}
return
A2:
loop
{
A2 할일~~
if 조건 맞으면
goto, A
}
return
B:
loop
{
B 할일~
goto, C
}
return
C:
loop
{
C 할일~
goto, D
}
return
D:
loop
{
D 할일~
goto, A
}
return
A와 A2를 반복해서 실행하다가 셋타이머가 동작하면 A와A2는 정지 / B,C,D를 순서대로 동작하게 만들고싶습니다.
BCD가 순서대로 동작은하지만 1번만 동작하고 그다음부터는 먹통입니다.
이유를 찾아보니 settimer안에 다른문이 있으면 그런것같고, return을 만나지 못해서 그런것같습니다.
밑에 처럼 goto를 gosub으로 바꿔도 B,C가 실행이 안됩니다.
B:
loop
{
B 할일~
gosub, C
gosub, D
}
return
라벨을 리턴(초기화)하거나 셋타이머를 초기화할 방법이 있을까요?
구글,오핫사 커뮤니티 등 여러곳에서 검색을했는데 settimer에 goto나 gosub 사용을 자제하라는 말도 있었지만 방법은 있는것 같더라고요.. 어떤분은 타이머 1개를 추가해서 해결했다는데 도저히 모르겠네요. 비슷한 사례 링크도 남겨봅니다.
시간기록 := A_TickCount