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