전혀 모르시겠다면.. 히로매크로 홈페이지에서 도움말 문서를 정독해주세요.
1. goto 로 따로 처리한게 없을땐 다음 분기문이 자동으로 실행됩니다.
:march
getcolor #color #ax #ay
if #color == #color2
sleep 500
goto :cachendif
:bach
위 예제의 경우, #ax #ay 좌표의 컬러값이 #color2 와 일치할경우 분기문 :cach 아닐경우 :bach 로 가게됩니다.
2. 히로매크로는 루프문은 공식적으로 지원하지 않습니다만 편법으로 쉽게 가능합니다.
1번의 예제를 적당히 이용하는겁니다만,
:loop1
:sims
명
령
문
들
goto :loop1
이란 방식으로 간단히 구현 가능합니다.
3. getcolor 로 색값을 따왔는데 오동작이 많이 날땐 변수를 활용해주세요.
변수는 아무리 많이 지정하여도 사양을 많이 잡아먹지 않습니다.
사양을 많이 잡아먹는 명령문은 getcolor 하나라고 생각하시면 됩니다. 나머지 명령문이나 변수들은 아무리 많이 사용하여도 큰 지장이 없습니다.
이를 이용, 오동작이 많이 나는 부분에서 getcolor 문을 여러개 사용하거나 값을 얻는 좌표를 자주 바꾸지 말고, 변수를 이용해줍니다.
sleep 200
getcolor #color2 #mapgox #mapgoy
if #color2 == #mapgoc
sleep 200
#questend = #questend + 1
endif
if #questend == 5
#questend = 0
goto :start
endif
goto :loopx
별이되어라 스크립트중의 일부입니다만 던전 종료시 체크 부분이 오동작 하는 부분을 변수를 이용하여
#mapgox #mapgoy 좌표의 색값이 #mapgoc 와 총 0.4초 간격으로 5번? 동일할경우 던전 종료 체크 부분을 나가서 시작부분으로 돌아가는 예제 입니다.
화려한 이펙트로 인해 오동작하는경우를 줄여줍니다.
4. 색값을 따기에 애매할땐 반대로 안될때의 색값을 따보자.
일단 예제부터 보시죠.
:dun3
getcolor #color #dun3x #dun3y
if #color == 0
goto :dun2
else
touchPress 0 #dun3x #dun3y
#stage = 3
sleep 1000
goto :join
endif
:dun2
getcolor #color #dun2x #dun2y
if #color == 0
goto :dun1
else
touchPress 0 #dun2x #dun2y
#stage = 2
sleep 1000
goto :join
endif
#dun3x #dun3y 의 색값을 딴뒤, 못들어갈때의 색값이면 dun2 로 가서 다른것이 입장가능한지 체크,
못들어갈때의 색값이 아니라면 입장을 하는 방식입니다.
입장이 가능한데 색값이 변화무쌍할때 적용가능합니다.?
더 적고픈데.. 나갈시간이 다됐네요.? 부족한 내용은 나중에 이어서 적겠습니다. ^^;;
설명이 미흡한 부분은 댓글 주시면 나중에 답변드리겠습니다. 긴 글 읽어주셔서 감사하겠습니다.
잘 보았습니다.
다음편도 기대가되는군요 ㅎㅎ
외출 잘 하고 오십시오.