https://gall.dcinside.com/mgallery/board/view?id=trpg&no=201886
Roll20에서 순차적으로 텍스트 출력하기 上0.뭔 대단한 이야기는 아니긴 함, 아마 하던 사람도 있을 거고.https://gall.dcinside.com/mgallery/board/view/?id=trpg&no=201879 롤20에 외국노래 실시간 자막gall.dcinside.com
놀랍게도 이 글을 올린 지 일주일이 되었단 거임...
아무튼, 저번에 '연출된 텍스트를 누르면 다음 연출로 넘어가는' 매크로의 기본에 대해 알아보았다.
하지만 이대로라면 아무래도 귀찮은 일이 많지 않을까?
간단하게 말해, 이렇게 하면 연출마다 전부 버튼을 따로 할당해 줘야 하고,
만약에 연출의 순서를 조금 바꾸거나, 서로 다른 연출이 여러 개 있으면
그 때마다 매크로를 새로 만들기가 번거로울 것이다.
연출마다 일종의 '트랙'을 만들어서, '1번 트랙'을 지정하면 순서대로 연출이 나오고
'2번 트랙'을 지정하면 다음 연출이 나오는 식으로 매크로를 만들 수는 없을까?
![a66e04ac301e782a996f5a63ea9f23346afcafc64c98d9a266ef533923]()
turn tracker를 사용하면 이를 간단하게 구현할 수 있다.
원리는 간단하다. 먼저, 재생 관련 토큰을 하나 만들어서 배치해 두고
(점프게이트 인터페이스를 사용하면 마스터만 볼 수 있는 화면 밖에 배치할 수도 있다)
이 토큰을 턴 트래커에 올려 둔다.
그 다음, TextMacro 시트에 언제나처럼 abilityPrefix라는 attribute를 %로 만들어 두고,
사용할 트랙의 제목을 입력하는 '제목' attribute를 만든 다음
ability로 printFirstTrack, printNextTrack을 다음과 같이 정의한다.
! [[ 1 &{tracker} ]]
/desc @{TextMacro|abilityPrefix}{<!--
-->TextMacro|@{TextMacro|제목}_0<!--
-->}<!--
-->[ ](<!--
-->~TextMacro|printNextTrack<!--
-->" style="<!--
-->display: inline-block; <!--
--> absolute; <!--
-->border: none; <!--
-->bottom: 0px; <!--
-->left: 0px; <!--
-->width: 100%; <!--
-->height: 80%; <!--
-->background-color: transparent; <!--
-->white-space: pre-wrap;<!--
-->)
! [[ 1 &{tracker:+} ]]
/desc @{TextMacro|abilityPrefix}{<!--
-->TextMacro|@{TextMacro|제목}_@{tracker|TextMacro}<!--
-->}<!--
-->[ ](<!--
-->~TextMacro|printNextTrack<!--
-->" style="<!--
-->display: inline-block; <!--
--> absolute; <!--
-->border: none; <!--
-->bottom: 0px; <!--
-->left: 0px; <!--
-->width: 100%; <!--
-->height: 80%; <!--
-->background-color: transparent; <!--
-->white-space: pre-wrap;<!--
-->)
무슨 개념인지 이해하겠지?
첫 번째 연출을 출력하는 printFirstTrack 매크로는
1)턴 트래커에 토큰의 이니시를 1으로 설정해주고
2)0번째 연출을 출력해준 다음
3)그 위에 투명한 버튼을 만들어서, printNextTrack 매크로로 연결하게 만들어준다.
printNextTrack 매크로는 턴 트래커의 값을 1씩 올린 다음,
턴 트래커에 맞는 연출을 출력하고, 역시 마찬가지로 printNextTrack 매크로로 연결되는 투명한 버튼을 만든다.
따라서 계속해서 다음 연출을 출력하게 되는 것이다.
[「약속된――](#<!--
-->" style="<!--
-->display: block; <!--
-->padding: 35px 0px 15px 25px; <!--
-->border: none; <!--
-->background-image:url(<!--
-->'https://i3.ruliweb.com/img/23/07/22/1897bf37c4d4ff264.png'<!--
-->); <!--
-->background- center top -40px; <!-- 150px
-->background-size: auto 220px; <!--
-->background-repeat: no-repeat; <!--
-->color: white; <!--
-->font-style: normal; <!--
-->text-decoration: none; <!--
-->text-align: left; <!--
-->font-size: 20px; <!--
-->text-shadow: 0 0 0.15em white, 0 0 0.22em black, 0 0 0.73em black, 0 0 1.01em black; <!--
-->white-space: pre-wrap; <!--
-->cursor: auto;<!--
-->)<!--
-->[엑 스](#<!--
-->" style="<!--
-->display: inline-block; <!--
--> absolute; <!--
-->border: none; <!--
-->width: 60px; <!--
-->top: 25px; <!--
-->left: 52px; <!--
-->color: white; <!--
-->font-style: normal; <!--
-->text-decoration: none; <!--
-->text-align: justify-all; <!--
-->font-size: 11px; <!--
-->text-shadow: 0 0 0.15em white, 0 0 0.22em black, 0 0 0.73em black, 0 0 1.01em black; <!--
-->white-space: pre-wrap; <!--
-->cursor: auto;<!--
-->)
["I am the bone of my sword"](#<!--
-->" style="<!--
-->display: block; <!--
-->padding: 20px 0px 5px 0px; <!--
-->border: none; <!--
-->background-image:url(<!--
-->); <!--
-->background- center 0px; <!--
-->background-size: auto 250px; <!--
-->background-repeat: no-repeat; <!--
-->color: white; <!--
-->font-style: normal; <!--
-->text-decoration: none; <!--
-->text-align: center; <!--
-->font-size: 16px; <!--
-->text-shadow: 0 0 0.15em white, 0 0 0.22em black, 0 0 0.73em black, 0 0 1.01em black; <!--
-->white-space: pre-wrap; <!--
-->cursor: auto;<!--
-->)<!--
-->[몸은 검으로 되어 있다](#<!--
-->" style="<!--
-->display: inline-block; <!--
--> absolute; <!--
-->border-style: none; <!--
-->width: 100%; <!--
-->left: 0px; <!--
-->top: 16px; <!--
-->color: white; <!--
-->font-style: normal; <!--
-->text-decoration: none; <!--
-->text-align: center; <!--
-->font-size: 10px; <!--
-->text-shadow: 0 0 0.15em white, 0 0 0.22em black, 0 0 0.73em black, 0 0 1.01em black; <!--
-->white-space: pre-wrap; <!--
-->cursor: auto;<!--
-->)
그리고 그냥 내가 사용한 연출 CSS 예시는 이런 느낌.
다 만들어놓고 보니까,
@{TextMacro|제목}을 @{selected|bar1}으로 만들면
굳이 시트를 안 켜놔도 되는 거 아니냐... 는 생각이 들긴 하는데
고치기 귀찮아서 그냥 이렇게 올림 ㅎㅎ;;
뭔가 독특한 시놉시스나 컷씬, 필살기 연출 같은 걸 만들고 싶으신 분은 참고해보세얌.
이 매크로 구조를 만든 건 순식간이고,
사실 보구 연출 그림 이쁘게 맞추는 데 시간 열 배는 더 썼다는 거...
아니 도당체 뭘 만드신 겁니까 교수님
건독 때부터 네 메크로 발상은 따라갈 수가 없어
이렇게 칭찬하면 좀 좆비비려 드는것 처럼 보여요
글자 위에 작은 글씨 올리는거 탐나서 해보고 있는데, 위치 조정하는게 좀 많이 어려운데, 노가다 말곤 답 없나?