목차

이전 항목

맞춤 텍스트 태그

다음 항목

파일 접근하기

링크


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

Character 클래스 콜백

렌파이에는 대사가 나타나는 중에 다양한 이벤트가 발생할 때 콜백을 실행하는 능력이 있습니다. 이는 callback 인수를 Character() 에 전달하거나, config.character_callback 또는 config.all_character_callbacks 변수를 설정해 활용할 수 있습니다.

Character 콜백은 하나의 위치 인수, 즉 발생할 이벤트와 함께 호출됩니다. 가능한 이벤트는 다음과 같습니다. :

"begin"
say문 시작 시점에 호출됩니다.
"show"
대사의 각 분절을 표시하기 전에 호출됩니다. 대사는 {w} 또는 {p} 텍스트 태그로 인해 여러 분절로 나뉠 수 있으나 적어도 하나의 분절로 구성되어야 합니다.
"show_done"
대사의 각 분적을 표시한 뒤에 호출됩니다.
"slow_done"
한 글자씩 표시되는 텍스트가 전부 표시되었을 때 호출된다. 이 이벤트는 대사가 인터렉션을 발생시키지 않는 경우를 대비해 "end" 이벤트가 발생한 다음에 발생합니다.
"end"
say문 종료 시점에 호출됩니다.

콜백은 하나의 키워드 인수와 함께 호출됩니다.:

interact
대사가 인터렉션을 발생시킨다면 참값이다.

후에 위치 인수와 추가 키워드 인수는 다른 값들을 입력 받을 수도 있습니다. 콜백 코드는 이해할 수 없는 인수들은 무시하도록 코드해야 합니다.

예제

아래 예제 스크립트는 텍스트가 한 글자씩 표시되는 상태일 때 캐릭터 음성을 대신해 비프음을 재생합니다.:

init python:
    def beepy_voice(event, interact=True, **kwargs):
        if not interact:
            return

        if event == "show_done":
            renpy.sound.play("beeps.ogg")
        elif event == "slow_done":
            renpy.sound.stop()

define pike = Character("크리스토퍼 파이크", callback=beepy_voice)

label start:

    pike "그럼 탈로스 행성 IV 에서 조금 쏘다니고, 내 볼 일 좀 본 다음에..."