방개
비밀번호를 잊어버리셨나요?

질문

goto 대체법

    • 글자 크기
settimer,a,1000

loop
{
   많은 코드들
}
b:
msgbox,끝


return


a:
imagesearch,vx,vy,0,0,a_screenwidth,a_screenheight,a.png
if errorlevel = 0
{
   settimer,a,off
   goto,b
}
return

이럴 때에 goto를 사용 안하고 코드를 어떻게 짜야될지 모르겠어요 ㅠㅠ

    • 글자 크기
댓글 6
  • 2020.9.15 12:42 댓글

    b:밑에를 Settimer에 포함시키든지, 함수로 만드셔서 호출하심 됨다

  • 2020.9.15 12:43 댓글

    사실 Settimer가 좀 기능적인 goto에 불과하지 않아서... 이런 꼬인(?)상태가 나오기가 쉽습니다. 다만 Settimer는 대체방법이 없긴해서요. (저는 그래서 주기적인 작업을 할 땐 타언어를 이용합니다.)

  • 프날님께
    asdf글쓴이
    2020.9.16 13:08 댓글

    감사합니다

     

  • 2020.9.16 09:14 댓글

    goto,b 대신 Settimer,b,-1 을 써보는것도 좋을듯이용

  • 2020.9.16 09:28 댓글

    루프 밑에 return이 없는것으로 보아

    혹시라도 루프 종료를 루트a에서 알리는 거라면

    전역변수 하나 넣어서 loop-until 구문을 쓰시는걸 추천합니다

    settimer,a,1000
    
    bStop:=false
    
    loop
    {
       많은 코드들
    }
    until bStop
    
    msgbox,끝
    
    return
    
    
    a:
    imagesearch,vx,vy,0,0,a_screenwidth,a_screenheight,a.png
    if errorlevel = 0
    {
       settimer,a,off
       bStop:=true
    }
    return

    요런식으로 bStop을 스위치로 쓰는것도 좋습니당

  • 먹꼼님께
    asdf글쓴이
    2020.9.16 13:09 댓글

    우와 이런건 처음봐요

    더 공부해야겠네요 ㄷㄷ

댓글 달기

서버에 요청 중입니다. 잠시만 기다려 주십시오...