안녕하세요?
이것저것 개인적인 일이 좀 많아서 많이 늦었네요
없으시겠지만 혹시나 기다리신분들이 계시다면 감사하고 죄송합니다. !
지난번까지 변수, 터치, 색값에 관련된 스크립트에 대해 강좌를 했었는데요?
오늘은 위에서 배운놈들을 좀 똑똑하게 만들어줄 if 구문을 만들어 보겠습니다.?
제가 주로 즐기며 주로 하는 게임이 별이 되어라(이하 별되) 여서 별이 되어라 기준으로 설명을 하는점 이해 바랍니다.?
별되 뿐만이 아니라 다른 게임에서도 메크로를 제작해서 올려주시는 분들의 스크립트 처럼 만들기 위해서는?
메크로 자체에서 상황을 판단하고 실행할수 있는 능력이 필요하다 생각됩니다.?
이 상황을 판단하는 방법에는 이미지서치, 색값비교 등등의 방법이 있겠지만 히로메크로에서는 사실상 색값 비교라는 방법 밖에는 없습니다.?
그래서 기존에 색값을 가져오는 방법을 설명을 한것이구요.?
본론으로 들어가기에 앞서
히로 메크로의 특징 하나를 설명하고 넘어가야 할듯 합니다.?
자바에서 한줄을 나누는 ; 과는 다르게 히로메크로에서는 스크립트를 작성할때 한줄이 코드 하나로 인식을 하게 됩니다.?
예를 들면?
100, 200 좌표의 색값을 가지고 오는 스크립트인?
getcolor #color 100 200?
를?
getcolor #color
100 200?
이렇게 두줄로 작성을 하시면 안된다는것입니다.?
원하는 하나의 기능은 한줄에 담으셔야 합니다.?
영어에서는 만약에...if 구문입니다.?
자신이 지정한 실행 조건이 맞아 들어가게되면 아래에 오는 스크립트를 실행하고 그렇지 않다면?
현 if 구문에 종속되어있는 endif 까지의 구문을 죄다 넘기고 다음 스크립트를 실행하게 만들어 줍니다.?
예를 들어?
var #check 0
:start
#check = #check + 1
if #check == 5
toast #check
goto :end
endif
goto :start
:end
라는 스크립트를 기준으로 설명을 하게되면?
최초 #check 의 값은 0 입니다.?
그리고 스크립트가 진행이 되면서?
#check = #check + 1 이라는 스크립트를 거치면?
#check 의 값은 그전의 #check 값에 + 1 을 더하여라 라는 의미가 되어?
#check 의 값은 1이 됩니다.?
그 후 따라오는 if 구문을 보시면 #check == 5 즉 #check 의 값이 5가 되었을때?
toast #check ?화면에 #check 의 값을 표시한 후?
goto :end 종료해라..?
라는 기능이지만?
아직은 #check 값이 1이기 때문에 이 스크립트는 if~ endif 까지를 다 뛰어넘고?
goto :start 시작지점으로 돌아가기가 실행되게 됩니다.?
이렇게 #check 의 값이 5가 될때 까지 반복을 하고나서 종료를 하게 됩니다.?
여기서 스크립트에 조금 더 살을 붙여 보겠습니다.?
elseif 구문을 추가 할것인데요?
이놈은 처음 if 구문에 들어왔을때의 값을 기준으로 판단을 하게됩니다.?
아래 구문을 보시지요?
var #check 0
:start
#check = #check + 2
if #check == 5
toast #check
goto :end
elseif #check == 6
#check = #check - 3
endif
goto :start
:end
여기에서 살을 한번더 붙여 보겠습니다.?
else 입니다. 이놈은 if 구문에서 조건을 지정해놓은 것이 단하나도 맞지 않게 된다면 실행하게 되는 명령어 입니다.?
var #check 0
:start
#check = #check + 2
if #check == 5
toast #check
goto :end
elseif #check == 6
#check = #check - 3
else
goto :start
endif
:end
완전 감사합니다... 항상 잘 보고 배우고 있습니다.