(→특징3. 호출시 매개변수의 순서) |
(→특징4. 매개변수의 유지) |
||
83번째 줄: | 83번째 줄: | ||
[텍스트 크기=45 텍스트="좌우 흔들기" 색상="255,0,0"] | [텍스트 크기=45 텍스트="좌우 흔들기" 색상="255,0,0"] | ||
</lnx> | </lnx> | ||
+ | |||
+ | |||
==== 특징4. 매개변수의 유지 ==== | ==== 특징4. 매개변수의 유지 ==== |
2015년 2월 11일 (수) 22:03 판
목차
매크로
LNX 스크립트 매크로의 개념은 기존 프로그래밍 언어에 존재하는 개념인 함수 와 유사합니다.
매크로는 여러 명령들을 묶어 놓은 것이라고 볼 수 있습니다.
반복적으로 쓰이는 여러줄의 스크립트가 있을 경우 이를 매크로로 묶은 후 이 매크로를 호출한다면 더욱 스크립트가 편리하고 깔끔하게 유지될 수 있을것 입니다.
매크로 호출
매크로 호출은 만들어둔 매크로를 실행 한다는 뜻 입니다.
어떠한 매크로를 호출하고 싶다면 아래 그림과 같이 매크로의 이름을 대괄호로 묶고 부가적인 매개변수들을 전달해주어야 합니다.
매크로마다 필수적으로 넣어주어야 하는 매개변수와 생략해도 되는 매개변수가 있기 때문에 메뉴얼을 잘 숙지하셔야 합니다.
매크로의 특징
매크로에는 아래와 같은 몇가지 특징이 있습니다. 이는 문법_사용자정의매크로 에도 동일하게 적용됩니다.
특징1. 확장인자
매크로 확장인자 는 특별한 매개변수입니다.
현재 매크로_대화 , 매크로_독백 와 같은 매크로가 확장인자 를 전달받고 있습니다.
확장인자는 매크로 바로 아랫줄에 세미콜론을 이어가며 사용하게 됩니다.
아래 그림 '집나간 멍구'에서 사용된 매크로_독백 을 보시면, 독백 매크로가 출력하려는 내용을 확장인자로 전달받는 것을 볼 수 있습니다.
확장인자에 대해서 더 자세히 살펴보려면 확장인자 를 참고하세요.
[독백] |
;표정이 안좋을 수밖에.. 지금 유진이의 상태는 최악이다. |
;어제 그녀가 기르던 애완견 멍구가 집을 나갔다고 한다. |
; |
;그녀의 아버지가 환기를 시키겠다고 잠깐 문을 열어둔 사이 밖으로 나가버린 것이다. |
;밤새 기다려보았지만 멍구는 돌아오지 않았다고 한다. |
특징2. 인자변수
매크로를 실행하기 전에, 미리 매개변수 값을 지정 할 수 있습니다. LNX 스크립트에서는 이것 매개변수와 구분하기 위해 인자변수 라고 부르고 있습니다.
매크로명.매개변수명 = 값 |
위와 같은 형태로 미리 값을 대입해 둘 수 있습니다. 아래 예제에서 1번째 라인부터 6번째 라인까지의 코드와 10번째 라인의 정확히 동일하게 동작 합니다.
그리고 문법_사용자정의매크로 또한 동일하게 활용 가능합니다.
# 매크로 인자변수를 이용하여 호출 |
대사창수정.아이디 = "대화" |
대사창수정.이미지 = "textArea.png" |
대사창수정.색상 = "255,255,255,255" |
대사창수정.위치 = "0,720" |
대사창수정.영역 = "1070,200" |
대사창수정.여백 = "100,60" |
[대사창수정] |
# 매크로 호출 |
[대사창수정 아이디="대화" 이미지="textArea.png" 색상="255,255,255,255" 위치="0,720" 영역="1070,200" 여백="100,60"] |
특징3. 호출시 매개변수의 순서
매크로 호출시 매개변수의 순서는 상관이 없습니다. 즉 아래와 같이해도 두 줄의 스크립트는 동일하게 동작하게 됩니다.
[텍스트 텍스트="좌우 흔들기" 색상="255,0,0" 크기=45] |
[텍스트 크기=45 텍스트="좌우 흔들기" 색상="255,0,0"] |
특징4. 매개변수의 유지
모든 매크로는 어떠한 매개변수가 전달되어 호출됬을 경우 해당 매개변수를 모두 계속 기억하고 있는 특징을 가지고 있습니다.
만약 이렇게 기억된 매개변수를 모두 지우고 기본 매개변수 기억하고 있는 초기의 상태로 돌아가고 싶을 경우 인자변수초기화 매크로 를 호출하면 됩니다.
그럼 아래와 같은 예를 봅시다.
[대화 이름="멍구"] |
;킁.. |
[대화] |
;킁킁..? |
[대화] |
;여기가 어디지?" |
위 예제에선 대화 매크로를 이용하여 멍구라는 캐릭터가 대사를 치는 장면이 나옵니다.
만약에 연속으로 "멍구"라는 이름의 캐릭터가 계속 대화를 하여야 한다면 위처럼 최초의 대화 매크로 호출시에만 이름
매개변수에 "멍구"라는 값을 전달하여 주면 됩니다.
물론 매번 전달하여도 상관 없습니다.
또한 이러한 특성은 다른 매크로의 모든 매개변수에도 똑같이 적용됩니다.
이렇듯 매개변수가 유지가 되는 특성을 이용하여 스크립트를 좀 더 보기 쉽거나 짧게 작성할수 있습니다.