*본 강좌는 0.1.0 알파버전을 기준으로 합니다.
우선 텍스트 명령어를 다뤄볼까 합니다. 우선 현재(14.12.21기준) 피니엔진 공식 가이드북(메뉴얼)에 나와있는 텍스트 명령어에 대한 설명은 다음과 같습니다.
★---------------------------------------------------------
텍스트 함수
- [텍스트 아이디,텍스트,위치="화면중앙",효과="업페이드",효과시간=0,글꼴="NanumBarunGothic",크기=20,색상="255,255,255"]
가장 기본적인 텍스트 관련 함수로서 원하는 위치에 글자만을 보여주길 원할때 사용할 수 있습니다.
매개 변수: - 아이디 (문자열) – ( 필수 ) 텍스트의 고유 아이디입니다. 기존에 쓰이고 있는 아이디를 전달 한다면 덮어쓰여 집니다.
- 텍스트 (문자열) – ( 필수 ) 보여주고 싶은 문자열을 전달해야 합니다.
- 위치 (x,y를 표현한 문자열(“숫자,숫자”) 혹은 크기) – 텍스트의 위치를 전달해야 합니다.
- 효과 (노드입장효과) – 노드입장효과 를 사용하여 텍스트가 나타날 때의 효과를 정할수 있습니다.
- 효과시간 (숫자) – 등장시 효과의 시간 (기준은 초)
- 글꼴 (문자열) – 원하는 텍스트의 폰트를 전달해야 합니다.
- 크기 (숫자) – 원하는 텍스트의 사이즈를 전달해야 합니다.
- 색상 (문자열) – 원하는 텍스트 색상의 “R,G,B,A” 형태 문자열로 전달해야 합니다.
★----------------------------------------------------------
*참고로 위치의 값으로 크기가 가능하다는 것은 오타인 것같습니다. 아마 위치가 원래 의도하던 것 같습니다.
*위에 나와 있는 예시는 툴에 설정된 기본값입니다.
*한 번 설정을 변경하면 아래에도 계속 적용됩니다.
그리고 영상.
영상을 구현하기 위해 사용한 스크립트 전문.
-----------------------------------------------------------------------------------------------------------
[이미지 아이디="테스트" 파일명="3-5copy.png" ]
[대기 시간=1]
[대화창수정 아이디="대화" 폰트크기=32]
[대화 이름="테돌이" ]
아아, 대화창 테스트. 아아.
[대화 이름="테돌이"]
여러분 안녕? 난 테돌이야. 지금부터 나는 텍스트와 대화, 독백 명령어에 대해 테스트를 해볼까해. <클릭>
그럼 시작할게.
[대화 이름="테돌이"]
우선 텍스트 명령어야. 이 기능은 바실리어트의 랩텍스트 기능과 유사하고, 네코노벨에서는 이와같이 특화된 기능은 없었어. 우선 텍스트 명령어는 어떤 식으로 보이는 지 보여줄게.
[텍스트 아이디="텍스트1" 텍스트="텍스트를 출력합니다." 위치=("170,250")]
[텍스트 아이디="화살표" 텍스트="↓↓↓" 위치=("175,220") 크기=30 색상="200,200,0" ]
[대기 시간=0.5 ]
[삭제 아이디="화살표" ]
[대기 시간=0.5]
[텍스트 아이디="화살표" 텍스트="↓↓↓" 위치=("175,220") 크기=30 색상="200,200,0" ]
[대기 시간=0.5 ]
[삭제 아이디="화살표" ]
[대기 시간=0.5]
[텍스트 아이디="화살표" 텍스트="↓↓↓" 위치=("175,220") 크기=30 색상="200,200,0" ]
[대기 시간=0.5]
[삭제 아이디="화살표" ]
[대화 이름="테돌이"]
요렇게
[대화 이름="테돌이"]
여기서 볼 수 있듯이 텍스트를 한 번 출력하면 대화 명령어와는 다르게 클릭해도(혹은 터치해도) 삭제 명령을 할 때까지 사라지지 않아. 그럼 이번엔 삭제해볼게.
[삭제 아이디="텍스트1" ]
[텍스트 아이디="화살표" 텍스트="↓↓↓" 위치=("175,220") 크기=30 색상="200,200,0" ]
[대기 시간=0.5 ]
[삭제 아이디="화살표" ]
[대기 시간=0.5]
[텍스트 아이디="화살표" 텍스트="↓↓↓" 위치=("175,220") 크기=30 색상="200,200,0" ]
[대기 시간=0.5 ]
[삭제 아이디="화살표" ]
[대기 시간=0.5]
[텍스트 아이디="화살표" 텍스트="↓↓↓" 위치=("175,220") 크기=30 색상="200,200,0" ]
[대기 시간=0.5]
[삭제 아이디="화살표" ]
[대화 이름="테돌이" ]
짠! 텍스트가 사라졌지?
[대화 이름="테돌이"]
그럼 이 기능을 어떻게 활용할 수 있을까?
---------------------------------------------------------------------------------------
만들다보니 어쩐지 새미학습이랑 비슷한 것 같은데, 어쨌거나 텍스트 명령어의 특징은 다음과 같습니다.
1. 대화창 없이 글자를 표시할 수 있다.
2. 글자가 나타날 위치를 명령어 안에서 설명할 수 있다.(즉 편리하다.)
따라서 이 특징을 이용해 위의 영상에 나온 것처럼 화살표를 띄우는 등의 효과를 사용할 수 있습니다. 네코노벨의 경우, 이와 같은 명령어가 없었기 때문에 이 표과를 주기 위해서는 화살표를 이미지로 만들어서 CG 명령어로 처리했어야 하는 것에 비해 아주 간단한 일이죠. 이렇게 활용하는 것 이외에도 상황에 따라 다양하게 활용할 수 있는 명령어일 것이라고 생각합니다.
다음은 대화 명령어를 알아보겠습니다.
★--------------------------------------------------------
대화 함수
- [대화 이름,대사창,유지="아니오"]
대화 함수는 특정 캐릭터가 어떠한 대사를 하기 전달하기 위해 사용할 수 있습니다. 대화 함수 대화창의 스타일은 대화창수정 함수 의 매개변수인 아이디에 “대화” 라는 문자열을 전달하여 수정할 수 있습니다.
매개
변수:
- 이름 (문자열) – ( 필수 ) 대사창의 이름칸에 보이게 될 이름을 전달해 주어야 합니다.
- 대사창 (문자열) – ( 필수 ) 대사창의 내용칸에 보이게 될 대사를 전달해 주어야 합니다.
- 유지 (여부) – 만약 “예” 전달한다면 해당 대화는 대화가 끝나더라도 대화창이 계속 남게 됩니다. “예”가 아닌 “아니오”를 전달한다면 대화가 끝나게 될 시 독백 창이 사라지게 됩니다.
★--------------------------------------------------------
*위의 예시가 기본값입니다.
*대사창이라는 인수는 없고, 대화 명령어를 사용하기 위해서는 다음과 같이 사용해야 합니다.
[대화 이름="" 유지="아니오"]
(탭키)쓰고싶은 대사.
*한 번 설정하면 설정을 변경하기 전까지 계속 적용됩니다.
다음은 영상입니다.
다음은 영상을 구현하기 위해 사용된 스크립트 입니다.
--------------------------------------------
[대화 이름="테돌이"]
다음은 대화 명령어야. 이 기능은 사실 비쥬얼 노벨 툴에 있어서는 기본 기능이라고 할 수 있지.
[대화 이름=""]
테돌이가 이름표를 뗐다.
[대화 이름=""]
이렇게 경우에 따라서는 이름표를 뗄 수도 있고,
[대화 이름="" ]
테돌이가 이름표를 붙였다.
[대화 이름="테돌이" ]
이름표를 붙일 수도 있지.
[대화 이름="테돌이" 유지="예"]
또 인수 '유지'를 '예'로 설정하면,
[대화 이름="테돌이"]
다른 대화 명령어를 사용해도 이전의 명령어의 것이 사라지지 않게 돼.
[대화 이름="테돌이" 유지="아니오"]
물론 유지를 사용한 명령어 다음 명령어에 유지를 사용하지 않으면 유지를 사용한 것까지 사라져.
[대화 이름="테돌이"]
대화가 가지고 있는 순수한 기능은 이정도야. 기능 확장을 위해서는 다른 명령어를 사용해야 하는데…. 그건 다음에 설명하도록 할게.
------------------------------------------------
피니엔진의 대화 명령어의 특징은 이름표가 있다는 것입니다. 다른 툴들이 이름을 나타내기 위해서 조금 복잡하게 처리했어야 했다면 피니엔진에서는 아주 편리하게 구현할 수 있죠. 게다가 기능확장을 사용한다면, 대화 명령어는 상당히 편리하게 여러가지 기능을 구현할 수 있습니다. 참고로 자동줄넘김 기능이 있지만 화면보다 글이 많으면 글이 밑으로 계속 뻗어나가 화면 밖으로 나가게 됩니다.
.
마지막으로 독백 명령어에 대해 알아보도록 하겠습니다.
★----------------------------------------
독백 함수
- [독백 이름,파일명,위치]
독백 함수는 대화 함수와는 달리 전면을 차지하여 텍스트를 전달할 수 있습니다. 독백 함수 대화창의 스타일은 대화창수정 함수 의 매개변수인 아이디에 “대화” 라는 문자열을 전달하여 수정할 수 있습니다.
매개 변수: - 대사창 (문자열) – 대사창의 내용칸에 보이게 될 대사를 전달해 주어야 합니다.
- 유지 (여부) – 만약 “예” 전달한다면 해당 독백이 끝나더라도 독백 창이 계속 남게 됩니다. “예”가 아닌 “아니오”를 전달한다면 독백이 끝나게 될 시 독백 창이 사라지게 됩니다.
★----------------------------------------
*독백 함수 대화창의 스타일은 대화창수정 함수 의 매개변수인 아이디에 “독백” 이라는 문자열을 전달하여 수정할 수 있습니다. <-오타입니다, 오타.
*[독백 대사창,유지="아니오"]<-오타입니다, 오타.
*대사창이라는 인수는 없고, 대화 명령어를 사용하기 위해서는 다음과 같이 사용해야 합니다.
[독백 이름="" 유지="아니오"]
(탭키)쓰고싶은 대사.
*한 번 설정하면 설정을 변경하기 전까지 계속 적용됩니다.
다음은 영상입니다. 어째서인지 점점 영상이 빈약해지는 것 같지만-.
[독백 ]
훗. 나는 모두의 친구 테돌이. 이 구역에서 테스트를 담당하고 있지.
[독백 유지="예"]
유지 인수는 대화 명령어와 똑같이 작동하는군.
[독백 ]
아! 독백 명령어도 대화 명령어처럼 기능 확장을 할 수 있었지?
[독백 유지="아니오" ]
피곤하다. 이제 자러 가야지
---------------------------------------------
독백 명령어 또한 피니엔진이 가지고 있는 편리한 명령어라고 할 수 있습니다. 네코노벨에서는 이 기능을 구현하기 위해 대사창 크기를 조절하고 대사영역을 조절해야 했다면 피니엔진에서는 독백 명령어 하나면 해결되지요! 참고로 대화 명령어처럼 자동줄넘김 기능이 있지만 화면보다 글이 많으면 글이 밑으로 계속 뻗어나가 화면 밖으로 나가게 됩니다.
그럼 텍스트, 대호, 독백 명령어에 대한 강좌는 여기서 끝입니다.!
참조(피니엔진 공식 설명서) : http://piniengine.readthedocs.org/
.
-------------------