목차

이전 항목

텍스트 입력

다음 항목

CG 갤러리, 음악 감상실, 다시보기 액션

링크


원문 보러 가기
오역 신고하기
Created using Sphinx.

사이드 이미지

비주얼 노벨 중에는 대사창 옆에 말하고 있는 캐릭터의 그림을 표시하는 비주얼 노벨도 있습니다. 렌파이에서는 이것을 사이드 이미지라고 부르며 자동으로 사이드 이미지를 선택해서 대사창에 표시하는 기능을 지원합니다.

사이드 이미지 기능을 이용하기 위해서는 Character() 에 사이드 이미지로 표시하려는 그림의 이미지 태그를 입력해 선언해야 합니다.

define e = Character("Eileen", image="eileen")

이미지 태그를 지정한 캐릭터가 대사를 말할 때 렌파이에서는 이미지 속성들의 저장고(pool)를 만들어냅니다. 링크된 이미지 태그, 그리고 이미지 태그와 관련이 있는 이미지 속성들은 이 저장고에 추가합니다.

태그와 관계된 사이드 이미지를 정의하기 위해서 렌파이는 "side" 태그, 그리고 저장고에서 최다수를 차지하는 이미지 속성이 포함된 이미지를 검색합니다. 이미지를 찾을 수 없거나, 이미지 속성이 많이 붙은 이미지가 하나 이상이라면 Null() 이 사이드 이미지 대신 나타납니다.

예를 들어 다음과 같은 스크립트가 있다고 가정해 봅시다.:

define e = Character("아이린", image="eileen")

image eileen happy = "eileen_happy.png"
image eileen concerned = "eileen_concerned.png"

image side eileen happy = "side_eileen_happy.png"
image side eileen = "side_eileen.png"

label start:

    show eileen happy

    e "여기를 A라고 하자."

    e concerned "그리고 여기는 B."

A 지점에서는 "eileen" 이라는 이미지 태그가 연결된 e 라는 캐릭터가 말을 합니다. "eileen happy"가 나타나고 있으므로, 사용 가능한 속성은 "eileen" 과 "happy"가 됩니다. 이 상태에서 렌파이는 존재하는 이미지 속성의 수 만큼 "side" 태그가 붙은 이미지를 가능한 많이 검색해, "side eileen happy" 라는 이미지를 캐릭터 "e" 의 사이드 이미지로 화면에 표시합니다.

B 부분에서는 "eileen concerned" 이미지가 나타납니다. 사용 가능한 속성은 "eileen" 과 "concerned" 가 됩니다. 이를 기반으로 검색하면 "side eileen" 이미지만 검색되므로, 화면에는 "side eileen" 이미지가 나타나게 됩니다. "side eileen" 대신에 "side concerned" 라는 이미지가 있었다면 이 이미지는 어떤 때에 사용해야하는 이미지인지 애매하기 때문에 렌파이는 이미지를 표시하지 않습니다.

투명한 캐릭터

사이드 이미지는 플레이어의 캐릭터가 대사를 말할 때 플레이어 캐릭터의 이미지를 나타내기 위해 사용할 수도 있습니다. 우선 이미지를 캐릭터에 연결시킨 다음에 사이드 이미지로 표시할 속성을 say 문과 함께 적으면 됩니다.

아래는 예제입니다.:

define p = Character("플레이어", image="player")

image side player happy = "side_player_happy.png"
image side player concerned = "side_player_concerned.png"

label start:

    p happy "'side player happy' 이미지가 나타납니다."

    p "여기에서도 'side player happy'가 나타납니다."

    p concerned "'side player concerned'가 나타납니다"

작동 방식 변경하기

사이드 이미지가 작동하는 방식은 두 가지로, 어떤 한 방식을 선택하거나 두 방식 모두 선택해서 사용할 수 있습니다. 작동 방식은 config 변수로 정합니다.:

config.side_image_tag = None

값이 주어지면 받은 값은 사이드 이미지의 이미지 태그가 된다. 현재 대사를 말하는 캐릭터와 관련이 있는 이미지의 태그로 받지 않는다.

define e = Character("아이린", image="eileen")

init python:
     config.side_image_tag = "eileen"

e 캐릭터에 적힌 'eileen' 이미지 태그를 사이드 이미지에 사용하기 위한 태그로써 추적한다.

config.side_image_only_not_showing = False

True로 설정하면 사이드 이미지와 같은 태그를 가진 이미지가 화면에 없을 때만 사이드 이미지가 나타난다.

사이드 이미지가 표시될 공간을 설정하기

기본적으로 대사를 나타낼 때 사용되는 텍스트는 게임 화면의 가로길이만큼 표시됩니다. 그러므로 사이드 이미지를 표시하면 텍스트 위에 이미지가 나타나게 됩니다. 따라서 텍스트 창에 여백을 적절히 주어 사이드 이미지가 원하는 위치에 표시될 수 있도록 해야 합니다. 다음과 같은 코드를 사용하면 텍스트 창에 여백을 줄 수 있습니다:

style window:
    left_padding 150

say 스크린과 nvl 스크린을 수정해 사이드 이미지가 나타날 위치를 바꿀 수도 있습니다.

add SideImage() xalign 0.0 yalign 1.0

xalign 과 yalign 속성을 바꾸면 스크린에 나타날 사이드 이미지의 위치를 지정할 수 있습니다.

마지막으로, SideImage() 함수는 현재 사용 중인 사이드 이미지를 디스플레이어블로 반환합니다. 스크린을 꾸밀 때 유용하게 사용할 수 있을 것입니다.