렌파이/스크립트 예제 스크린 언어로 3개의 텍스트를 표현하는 대사창 만들기 백안시 2011. 11. 20. 00:30 문자열에 사용할 수 있는 .find 함수와 문자열 인덱싱을 이용하여 만들었습니다. init python: style.window['thought'].background = "#12345640" style.window['thought'].xmaximum = 400 init python: e = Character('아이린') b = Character('백안시', show_two_window = True) screen say: default side_image = None default two_window = False # what.find는 대사에서 | 표시를 찾아서 그 인덱스를 반환합니다. # 못 찾으면 -1을 반환합니다. # thinkTF 는 그렇게 반환된 위치를 저장하는 변수입니다. $ thinkTF = what.find('|') if not two_window: #대사에서 |표시를 발견하면.. if thinkTF is not -1: #새로 만든 대사창에서.. window: style style.window["thought"] xalign 1.0 yalign 0.6 # | 표시 이후의 대사를 출력합니다. # 안녕하세요|속마음이에요. 라고 적는다면 # 속~부터 이 창에 나타납니다. text what[thinkTF+1:] id "what" window: id "window" has vbox: style "say_vbox" if who: text who id "who" # 그리고 | 이전의 대사까지만 원래 대사창에 표시합니다. text what[:thinkTF] id "what" # 못찾으면 통상대로 대사를 출력합니다. else: window: id "window" has vbox: style "say_vbox" if who: text who id "who" text what id "what" # 이름창을 따로 표시하는 경우. # 원리는 똑같습니다. else: if thinkTF is not -1: window: style style.window["thought"] xalign 1.0 yalign 0.6 text what[thinkTF+1:] id "what" vbox: style "say_two_window_vbox" if who: window: style "say_who_window" text who: id "who" window: id "window" has vbox: style "say_vbox" text what[:thinkTF] id "what" else: vbox: style "say_two_window_vbox" if who: window: style "say_who_window" text who: id "who" window: id "window" has vbox: style "say_vbox" text what id "what" if side_image: add side_image else: add SideImage() xalign 0.0 yalign 1.0 label start: e '되려나 모르겠네|속마음입니다.' e '구분표시가 없어도 되는지 테스트테스트' # |표시는 shift+\를 누르면 입력되는 기호입니다. # 대사에 입력할 일이 없을 것 같은 문자라서 넣었습니다. 애초에 대사에 기호를 입력할 일은 그다지 없을 것 같지만. # 입력이 불편하면 위의 thinkTF = what.find('|')에서 따옴표 안의 내용을 다른 기호로 바꿔주면 됩니다. b '째깍째깍 시간이 흐르는 소리\n테이블을 두드리는 하얀 손가락|(윤상-낯설지 않은 꿈)' b '여전히 너는 말이 없고' b '말라버린 찻잔의 커피빛 얼룩, {w}머릿속을 내리치는 헛기침소리|(어흠)' b '여전히 우린 말이 없고' #생각 출력하는 부분은 {p}, {w}처럼 추가로 인터렉션 받는 태그가 먹히지 않네여. b '난 이미 알고 있지 이 꿈의 결말을|(뭔데여.{w} 알려주세여.)' # 대사부분이랑 생각부분에서 p, w 태그를 동시에 넣으면 에러납니다 .왜 그런지는 모르겠습니다.; #b '난 이미 알고 있지 {p}이 꿈의 결말을|(뭔데여.{w} 알려주세여.)' b '{color=#000}테스트입니다.{/color} | {color=#d5d}컬러태그 테스트{/color}' b '글자 출력 속도 태그 테스트 | {cps=*3}글자 출력 속도 태그 테스트{/cps}' 공유하기 게시글 관리 백안시의 공방 - 소설형 게임 제작실 '렌파이/스크립트 예제' Related Articles 아날로그: 어 헤이트 스토리 소스 스크립트가 공개되었습니다 버튼에서 글자와 이미지를 겹쳐 쓰는 법 드래그 앤 드롭 예제 컴퓨터에서 시간정보를 받아 렌파이에서 표시하기