목차

이전 항목

스크린 언어 최적화

다음 항목

보관 변수

링크


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

설정 변수

설정 변수는 렌파이의 작동 방식을 다양하게 변경할 수 있도록 렌파이의 실행 동작을 제어합니다. 환경 설정 변수는 (화면 크기를 변경하는 것처럼) 흔한 것에서부터 (새로운 종류의 아카이브 파일을 추가하는 등) 여러 가지를 할 수 있습니다.

렌파이가 구동되고 GUI 시스템이 초기화되면, 그것을 가정하여 환경 설정 변수는 변경되지 않습니다. 환경 설정 변수를 init 블록 밖에서 변경하면 정의되지 않은 행동을 실행할 수도 있습니다. 환경 설정 변수는 세이브 데이터의 일부가 아닙니다.

설정 변수의 값은 init python 블록에서 변경됩니다.

init python:

    # 와이드 스크린 해상도를 사용한다.
    config.screen_width = 1024
    config.screen_height = 600

자주 사용되는 변수

config.developer = False

True로 설정하면 개발자 모드가 활성화됩니다. 개발자 모드는 shift + D (개발자 메뉴), shift + R (리로드) 등 개발자를 위한 도구에 접근할 수 있게 합니다.

기본적인 게임 템플릿에서는 True로 설정되어있습니다. 게임을 배포하기 전에는 False로 설정하시길 권합니다.

config.help = "README.html"

메인, 게임 메뉴에 있는 도움말 버튼을 누르거나 f1 또는 command-?를 누르면 실행되는 도움말 시스템의 기능을 제어합니다.

None이라면, 도움말 시스템은 비활성화되며 메인 메뉴 등에 나타나지 않습니다. 만일 스크립트 내에 있는 어느 레이블이 일치하는 문자열이라면, 그 레이블이 새 상황 안에서 실행됩니다. 이것으로 게임 내의 도움말 화면을 정의할 수 있습니다. 그 외에는 기본 경로에 있는 파일 가운데 웹 브라우저에서 열리는 파일 이름으로 해석됩니다.

config.name = ""

게임 이름이 적혀있는 문자열이어야 합니다. 이 문자열에 적힌 내용은 기록 파일이나 트레이스백에 기록되어 사용 중인 게임의 이름을 파악할 수 있도록 합니다.

config.save_directory = "..."

게임과 지속 정보가 저장되는 경로를 생성하기 위해 사용됩니다. 플랫폼에 따라 생성되는 경로가 달라집니다.:

Windows
%APPDATA%/RenPy/save_directory
Mac OS X
~/Library/RenPy/save_directory
Linux/Other:
~/.renpy/save_directory

None으로 설정하면 "saves" 디렉토리가 게임 디렉토리 아래에 생성됩니다. 이것은 그다지 추천하지 않는데, 한 시스템 내의 여러 명의 사용자들 간에 게임이 공유되는 것을 방지하기 때문입니다. 게임을 관리자 권한으로 설치하고는 사용자 계정으로 구동하는 경우에도 문제가 생길 수 있습니다.

이 값은 python early 블록에서 설정해 초기화 코드가 구동되기 전에 지속 정보를 불러올 수 있도록 해야 합니다.

사용자는 임의로 경로를 변경할 수 있습니다. 세이브 경로를 알아야 하는 코드는 이 변수가 아니라 config.savedir 를 읽어야 합니다.

config.screen_height = 600

화면의 세로 길이.

config.screen_width = 800

화면의 가로 길이.

config.translations = dict(...)

게임 메뉴에 있는 텍스트를 다른 언어로 번역할 때 사용되는 맵입니다. 사용 방법을 확인하려면 렌파이 현지화하기 페이지를 참조하고, 이 페이지에서는 사용 가능한 번역들을 참조하세요.

config.window_icon = None

None이 아닌 경우, Linux나 Mac OS X의 창에서 사용할 아이콘의 그림 파일 이름이어야 합니다. 8-bit 알파값을 가진 큰 이미지이어야 합니다.

일반적으로 PNG 형식의 파일이어야 합니다.

config.windows_icon = None

None 이 아닌 경우, 윈도우즈 창에서 아이콘으로 사용할 그림 파일 이름이어야 합니다. 1-bit 알파값이 있는 32x32 크기의 이미이여야 합니다(불투명한 이미지가 가장 제대로 작동합니다).

PNG 형식의 파일이어야 합니다.

config.window_title = "A Ren'Py Game"

렌파이 게임이 구동되는 창의 제목 표시줄에 나타날 제목입니다. 윈도우의 전체 제목을 지정할 수 있도록 _window_subtitle 의 값이 이 변수의 값 뒤에 추가됩니다.

config.version = ""

게임 이름이 적혀있는 문자열이어야 합니다. 이 문자열에 적힌 내용은 기록 파일이나 트레이스백에 기록되어 사용 중인 게임의 버전을 파악할 수 있도록 합니다.

화면 전환 효과

스크린을 전환할 때마다 사용할 트랜지션을 제어합니다.

config.adv_nvl_transition = None

ADV 모드 텍스트 다음에 NVL 모드 텍스트를 나타낼 때 사용되는 화면 전환 효과.

config.after_load_transition = None

불러온 게임에 진입할 때, 로딩을 마치고 사용할 화면 전환 효과.

config.end_game_transition = None

게임이 정상적으로 끝난 후나, renpy.full_restart() 가 호출된 경우, 돌아갈 곳이 없는 경우 실행되는 리턴 등에 의해 메인 메뉴를 표시할 때 사용되는 화면 전환 효과.

config.end_splash_transition = None

스플래시스크린이 끝난 뒤에 메인 메뉴를 표시할 때 사용하는 화면 전환 효과.

config.enter_replay_transition = None

None이 아니라면 다시보기에 진입할 때 사용하는 화면 전환 효과.

config.enter_transition = None

None이 아니라면 이 변수는 게임 메뉴에 진입할 때 사용하는 화면 전환 효과.

config.enter_yesno_transition = None

None이 아니라면 Yes/No 프롬프트에 진입할 때 사용하는 화면 전환 효과.

config.exit_replay_transition = None

None이 아니라면 다시보기에서 나갈 때 사용하는 화면 전환 효과.

config.exit_transition = None

None이 아니라면 게임 메뉴에서 나갈 때 사용하는 화면 전환 효과.

config.exit_yesno_transition = None

None이 아니라면 Yes/No 프롬프트에서 나갈 때 사용하는 화면 전환 효과.

config.game_main_transition = None

게임 메뉴를 나간 뒤 메인 메뉴를 표시할 때 사용하는 화면 전환 효과. 불러오기 또는 환경 설정 스크린이 메인 메뉴에서 실행될 때 사용하며, 또한 사용자가 게임 메뉴에서 메인 메뉴 버튼을 눌렀을 때도 사용됩니다.

config.main_game_transition = None

"불러오기"나 "환경설정"을 클릭할 때처럼, 메인 메뉴에서 게임 메뉴로 진입할 때 사용하는 화면 전환 효과.

config.nvl_adv_transition = None

NVL 모드 텍스트 다음에 ADV 모드 텍스트를 나타낼 때 사용하는 화면 전환 효과.

config.say_attribute_transition = None

None이 아니라면 이미지 속성이 함께 적힌 say 문으로 인해 이미지가 교체될 때 적용할 트랜지션.

config.window_hide_transition = None

화면 전환 효과를 명시적으로 지정하지 않았을 때 window hide문에 의해 사용되는 화면 전환 효과.

config.window_show_transition = None

화면 전환 효과를 명시적으로 지정하지 않았을 때 window show문에 의해 사용되는 화면 전환 효과.

환경설정 기본값

여러 환경설정의 기본값으로 사용됩니다. 기본값은 렌파이가 처음 구동되거나 지속 데이터가 없는 상태에서만 효과를 발휘합니다.

config.default_afm_time = None

None이 아니라면 이 값은 자동 진행 모드가 시작되는 시간을 설정합니다. None 이 아니라면 이 값은 문자를 250 개 나타나는 동안 소요되는 시간입니다. 0은 특수한 경우로 자동 진행 모드를 종료합니다.

config.default_afm_enable = None

afm_enable 환경설정의 기본 상태를 제어합니다. False라면 자동 진행 모드가 기본적으로 비활성화합니다. True라면 기본적으로 활성화합니다. None은 afm)enabme 환경설정은 무시됩니다. (자동 진행은 자동 진행 속도가 0이 아닌 경우에만 발생할 것입니다.)

config.default_emphasize_audio = False

"오디오 강조" 상태의 환경 설정을 제어합니다.

config.default_fullscreen = None

전체 화면 환경설정의 기본값을 설정합니다. 이 값은 True 또는 False이어야 합니다. None 이라면 이 설정은 무시되며 다른 코드로 기본값을 설정할 수 있게 됩니다. (일반적으로 이 값은 options.rpy 에서 False로 설정됩니다.)

config.default_language = None

언어 환경설정의 기본값을 설정합니다. 게임이 처음 시작되었을 때에만 사용됩니다.

config.default_show_empty_window = True

say 문이 아닌 명령문이 실행될 때 빈 대사창을 표시할 것인지를 결정합니다. True면 렌파이는 렌파이는 "window show" 와 "window hide", "window auto" 문을 준수합니다. False면 렌파이는 빈 대사창을 표시하지 않습니다.

config.default_text_cps = None

None 초당 표시할 문자 숫자의 기본값을 결정합니다. 0 은 특별한 경우로 문자를 한 번에 표시합니다. (일반적으로 이 값은 options.rpy 에서 0으로 설정됩니다.)

config.default_voice_sustain = False

voice sustain 환경설정 기본값입니다. 이 값이 True면 음성이 다음 인터랙션을 지나서까지 재생될 것입니다. False면 다음 인터랙션이 시작될 때 음성이 중지합니다.

config.default_wait_for_voice = True

음성 환경설정 기본값입니다. 렌파이가 자동 진행으로 대사가 완전히 표시되었을 때 음성 재생이 종료되는 것을 대기할 것인지를 결정합니다.

가끔 사용되는 변수

config.after_replay_callback = None

None이 아니라면 다시보기를 완료했을 때 인수 없이 호출되는 함수.

config.auto_load = None

None이 아닌 경우, 렌파이가 구동될 때 자동으로 불러올 세이브 파일의 이름. 최종 사용자 보다는 개발자용으로 만들어진 것입니다. "1"로 설정해두면 1 번째 세이브 칸에 있는 게임이 자동으로 불려옵니다.

config.auto_voice = None

문자열, 함수 또는 None입니다. None이라면 음성 합성이 비활성화됩니다.

문자열이라면 현재 대사행의 식별자와 결합한 id 변수와 함께 파일 이름을 구성합니다. 해당 파일이 존재한다면 그 파일을 음성 파일로 재생됩니다.

함수라면 현재 대사행의 식별자인 하나의 인수와 함께 호출됩니다. 이 함수는 파일 이름인 문자열을 반환해야 합니다. 해당 파일이 존재한다면 그 파일을 음성 파일로 재생합니다.

자세한 내용은 Automatic Voice 참고하세요.

config.automatic_images = None

None이 아닌 경우, 렌파이는 자동으로 이미지를 정의합니다.

None이 아닌 경우 설정할 때는 구분 기호의 목록을 설정해야 합니다. ( 예를 들면 [ ' ' , '_' , '/' ] 이런 식으로.)

렌파이는 디스크와 archives 에서 파일 목록을 스캔합니다. .png나 .jpg로 끝나는 파일을 발견하면 확장자를 제거하고, 이미지 이름을 구분 기호를 기준으로 나누어서, 이미지 이름을 생성합니다. 만일 이름이 적어도 2개 이상의 요소로 구성되어 있고, 그 이름으로 이미 정의된 이미지가 없다면, 렌파이는 그 이미지를 파일 이름을 대체하도록 정의할 것입니다.

게임 경로에 예로 든 구분자가 함께 있다면:

  • eileen_happy.png 가 있다면, 렌파이는 그 이미지를 "eileen happy"로 정의합니다.
  • lucy/mad.png가 있다면, 렌파이는 그 이미지를 "lucy mad"로 정의합니다.
  • mary.png가 있다면, 렌파이는 아무 것도 안 할 것입니다(파일 이름이 두 개의 요소로 이루어지지 않았기 때문입니다).
config.automatic_images_strip = []

자동적으로 이미지를 정의할 때 제거할 접두사들의 문자열 목록. 이미지가 포함된 디렉토리가 있는 경우, 그 경로의 이름을 제거할 때 사용할 수 있습니다.

config.autosave_slots = 10

자동저장에서 사용할 슬롯 수.

config.debug = False

(몇 개의 빠진 파일들을 에러로 치환하는) 디버깅 기능을 활성화합니다. 게임 배포할 때는 언제나 비활성화해야 합니다.

config.debug_image_cache = False

True면, 렌파이는 (어떻게 되던) 이미지 캐시 의 내용물이 변경될 때마다 이미지 캐시의 컨텐츠를 출력합니다.

config.debug_sound = False

사운드 기능의 디버깅을 활성화합니다. 소리를 생성할 때 오류의 발생을 비활성화합니다. 그러나 사운드 카드가 발견되지 않거나 사운드 카드에 결함이 있어 오류가 발생하는 것이 정상인 경우, 이 설정을 활성화하면 렌파이가 정상적으로 작동하지 못하게 할 수도 있습니다. 게임을 배포할 때에는 항상 False로 설정해야 합니다.

config.debug_text_overflow = False

True면, 할당 영역 밖으로 삐져나간 텍스트를 모두 text_oveflow.txt 에 기록합니다. 텍스트가 넘치는 경우는 Text 디스플레이어블 크기가 디스플레이어블이 배치된 영역보다 크기 때문입니다. 이 변수를 True로 설정하고 대사창으로 쓰이는 윈도에 xmaximum 과 ymaximum 스타일 속성을 설정해 크기를 조정하면 윈도가 담을 수 있는 양보다 많아서 삐져나간 텍스트가 무엇인지, 어떤 부분에서 텍스트가 삐져나갔는지 알 수 있습니다.

config.default_transform = ...

show나 scene 문을 사용하여 디스플레이어블을 표시할 때, 트랜스폼 속성은 값을 이 변수에서 받고 디스플레이어블의 트랜스폼 값을 초기화할 때 사용됩니다.

기본 변환 효과는 center 입니다.

config.emphasize_audio_channels = [ 'voice' ]

오디오 채널 이름을 지정하는 문자열 리스트.

"emphasize audio" 환경설정이 활성화되었다면, 이 변수에 지정한 채널에서 소리가 재생될 때, 이 변수에서 지정하지 않은 채널의 소리 크기가 config.emphasize_audio_volume 에 설정한 값만큼 config.emphasize_audio_time 초 동안 감소합니다.

이 변수에서 설정한 채널에서 오디오가 재생되지 않고 있다면 이 변수에서 지정하지 않은 채널의 소리 크기가 config.emphasize_audio_time 초 동안 1.0 으로 증가합니다.

예를 들어 이 변수 값을 ['voice'] 로 설정하면 음성이 재생될 때 음성 채널 외의 채널들의 소리 크기가 작아질 것입니다.

config.emphasize_audio_time = 0.5

위 항목을 참조하세요.

config.emphasize_audio_volume = 0.5

위 항목을 참조하세요.

config.empty_window = ...

_window가 참이고 대사창이 화면에 표시되지 았을 때 호출됩니다. (다시 말하면, renpy.shown_window() 호출이 발생하지 않을 때). 화면에 빈 윈도우를 표시하며, 인터렉션을 발생시키지 않고 값을 반환한 후 종료합니다.

기본적으로는 인터렉션 없이 빈 줄을 표시하는 나레이터 캐릭터를 사용하는 식으로 구현되어 있습니다.

config.enter_sound = None

None이 아니라면, 게임 메뉴에 진입할 때 재생하는 소리 파일입니다.

config.exit_sound = None

None이 아니라면, 게임 메뉴를 나갈 때 재생하는 소리 파일입니다.

config.fix_rollback_without_choice = False

롤백 고정 기능을 사용하고 있을 때 선택문이나 이미지맵을 어떤 식으로 표시할지 결정하는 옵션. 기본값은 False로, 이전에 선택한 선택지만 클릭할 수 있는 상태로 남겨둡니다. True로 설정하면 이전에 선택한 선택지가 무엇인지 표시하지만 모든 선택지를 클릭할 수 없습니다. 화면을 클릭하면 롤백 버퍼에 기록된 다음 화면으로 진행할 수 있습니다.

config.font_replacement_map = { }

하나의 글꼴을 굵게 그리고(혹은) 기울임체로 대체하기 위해 사용되는, (font, bold, italics) 에서 (font, bold, italics) 로 대치하는 맵입니다. 예를 들어, "Vera.ttf"의 기울임체를 전부 "VeraIt.ttf"로 대신 사용하고 싶다면 아래와 같이 적으면 됩니다:

init python:
    config.font_replacement_map["Vera.ttf", False, True] = ("VeraIt.ttf", False, False).

이러한 매핑은 오로지 특정 글꼴에서만 적용된다는 점을 기억하시기 바랍니다. 예제에서, Vera 글꼴의 굵은 기울임체를 사용하면 Vera의 굵은 기울임체를 사용하게 되지, VeraIt의 굵은 글씨를 사용하지 않습니다.

config.framerate = 100

None이 아니라면, 이것은 렌파이가 초당 표시하려는 프레임 숫자의 상한입니다. 이 설정은 소프트웨어 렌더러를 사용할 때에만 유용합니다. GL 렌더러는 수직 동기화를 대신 사용합니다.

config.game_menu = [ ... ]

게임 메뉴의 버튼을 설정할 때 사용됩니다. 이 변수의 구성 요소를 확인하려면 Main and Game Menu 페이지를 확인하세요.

이 설정은 스크린을 사용하여 정의된 게임 메뉴에는 사용되지 않습니다.

config.game_menu_music = None

None이 아닌 경우, 게임 메뉴에서 재생할 음악 파일 이름이어야 합니다.

config.gl_test_image = "black"

OpenGL 작동을 테스트중일 때 사용되는 이미지의 이름. 이 이미지는 테스트 시작시에 5프레임이 표시되거나 .25 초 동안 표시됩니다. 그 후에는 자동으로 사라집니다다.

config.has_autosave = True

만일 참이라면, 게임은 자동 세이브를 합니다. 거짓이면 자동 세이브가 발생하지 않습니다.

config.hw_video = False

참이면, 모바일 플랫폼에서 하드웨어 동영상 재생을 사용합니다. 작동이 빠르나 일부 형식만 지원되며 동영상을 전체화면으로만 재생할 수 있습니다. False면 소프트웨어 재생을 사용하지만 활용하기 힘들 정도로 작동이 느릴 것입니다.

config.image_cache_size = 8

이미지 캐시 의 크기를 화면 크기의 배수로 설정합니다. 이 숫자는 이미지 캐시의 크기값(픽셀 단위)을 얻기 위해 화면의 크기를 곱한 값(픽셀 단위)입니다.

지나치게 큰 값으로 설정하면 메모리를 낭비할 수도 있습니다. 너무 작게 설정하면 이미지가 반복적으로 로드되어 구동에 나쁜 영향을 미칠 수 있습니다.

config.key_repeat = (.3, .03)

키보드 반복 입력 속도를 제어합니다. 키 반복이 활성화되려면 이 값은 튜플이어야 합니다. 튜플에 있는 첫 번째 항목은 처음으로 글자가 반복되기 전의 대기시간이며, 두 번째 항목은 글자가 반복되는 동안의 대기시간입니다. 두 값은 모두 초 단위입니다. None이면 키보드 반복이 비활성화됩니다.

config.language = None

None이 아니면 번역 프레임워크로 번역한 게임의 기본 언어값을 정하는 문자열이어야합니다.

config.main_menu = [ ... ]

스크린을 사용하지 않는 경우의 기본 메인 메뉴. 자세한 사항은 Main and Game Menus를 참조하세요.

config.main_menu_music = None

None이 아니라면, 메인 메뉴에서 재생할 음악 파일.

config.menu_clear_layers = []

게임 메뉴에 진입할 때 비워지는 레이어 이름들(문자열)의 목록.

config.menu_window_subtitle = ""

메인, 게임 메뉴에 진입할 때, _window_subtitle 변수는 이 값에 설정됩니다.

config.minimum_presplash_time = 0.0

프리플래시, 안드로이드 프리플랫, iOS LaunchImage 가 표시될 초 단위 시간의 최소값. 렌파이가 이 변수에 지정한 시간보다 빨리 초기화를 완료했다면, 남은 시간 동안 프리플래시 이미지를 표시할 수 있도록 렌파이가 잠시 대기합니다. 렌파이가 실행될 때 오랜 시간이 걸린다면 프리플래시 이미지는 이 변수에 지정한 값보다 오랜 시간 표시됩니다.

config.missing_background = "black"

config.developer 가 참값이고 scene 문 가 정의되지 않은 이미지를 사용할 때 쓰이는 배경화면입니다. 디스플레이어블이 아니라 이미지 이름 (문자열)이어야합니다.

config.mode_callbacks = [ ... ]

모드에 진입할 때 호출되는 콜백 리스트. 더 자세한 사항은 모드 섹션을 참조하세요.

기본값은 config.adv_nvl_transitionconfig.nvl_adv_transition 을 구현하는 콜백을 포함합니다.

config.mouse = None

이 변수는 사용자가 정의한 마우스 커서 사용을 제어합니다. 만약 None이라면 검정색과 흰색으로 이루어진 시스템 기본 마우스가 사용됩니다.

그 외의 경우에 이것은 다양한 마우스 타입을 위한 마우스 애니메이션을 제공하는 딕셔너리 형태이어야 합니다. 딕셔너리의 키는 "default", "say", "with", "menu", "prompt", "imagemap", "pause", "mainmenu", "gamemenu"를 포함하는 기본 라이브러리에 사용됩니다. "default"키는 특정한 키가 존재하지 않을 때 사용되므로 항상 존재해야 합니다.

딕셔너리에 있는 각 값들은 (image, xoffset, offset)튜플의 리스트여야 하며 각 프레임을 대표합니다다.

image
마우스 커서 이미지.
xoffset
커서의 왼편으로부터 떨어진 핫스팟 픽셀의 오프셋. cursor.
yoffset
커서의 위쪽으로부터 떨어진 핫스팟 픽셀의 오프셋.

프레임들은 20hz에서 재생되며, 애니메이션은 모든 프레임이 나타난 후에 반복됩니다.

config.narrator_menu = False

(이 항목은 기본 screens.rpy 파일에 의해 True로 설정됩니다). 참이라면 선택지에서 표시되는 나래이션이 나래이션 캐릭터를 사용해 표시됩니다. 그 외의 경우 나래이션은 선택지에서 자막처럼 표시됩니다.

config.nearest_neighbor = False

픽셀 아트를 지원하거나 플레이어의 피로한 눈을 위해 최단 입점 필터링을 기본으로 사용합니다.

config.overlay_functions = [ ]

함수 리스트. 호출되면 각 함수가 오버레이 레이어에 디스플레이어블을 추가하기 위해 ui 함수들을 사용합니다.

config.python_callbacks = []

함수 리스트. 리스트 안에 있는 함수들은 파이썬 블럭이 초기화 과정 외부에서 실행되었을 때마다 인수 없이 호출됩니다.

변수값이 바뀌었을 때 값의 범위를 제한하는 기능을 추가하고 싶다면 이 변수를 함께 사용하면 됩니다.

함수는 게임이 제대로 시작하기 전에 렌파이 내부 코드에서 호출되거나, 함수에서 사용하는 변수가 초기화되기 전에 호출되므로 hasattr(store, 'varname') 로 변수가 정의되었는지 확인해야 합니다.

config.quicksave_slots = 10

퀵세이브에 사용할 슬롯 수.

config.quit_action = ...

게임 창의 종료 버튼을 유저가 클릭할 때 호출되는 함수입니다. 기본 액션은 사용자에게 게임을 종료할 것인지 묻는 질문창을 띄웁니다.

config.replace_text = None

None이 아니라면 사용자에게 표시할 텍스트를 인수로 받아 호출되는 함수이다. 이 함수는 전달 받은 텍스트를 그대로 반환하거나, 대신 표시할 대체 텍스트를 반환한다.

이 함수는 치환이 발생한 이후에, 그리고 텍스트 태그를 분리한 이후에 호출되기 때문에 함수에 지정된 인수는 오직 텍스트뿐이어야 한다. 표시된 텍스트는 대사 텍스트와 UI 텍스트 모두 모두 함수를 통해 전달된다.

이 변수는 아래 코드에서 시연하는 것처럼 특정한 ASCII 시퀀스를 상응하는 유니코드 문자로 교체할 때 사용할 수 있다.

def replace_text(s):
    s = s.replace("'", u'\u2019') # 아포스트로피
    s = s.replace('--', u'\u2014') # 전각 대시
    s = s.replace('...', u'\u2026') # 생략 기호
    return s
config.replace_text = replace_text
config.save_json_callbacks = [ ]

json 객체를 생성할 때 사용되는 콜백 함수의 리스트. json 객체는 FileJson()renpy.slot_json() 을 통해 각 세이브마다 저장되며 접근할 수 있는 것으로 마크됩니다.

모든 콜백은 최종적으로 저장될 파이썬 딕셔너리와 함께 호출되어야 합니다. 콜백은 json을 호환하는 파이썬 데이터 타입, 즉 숫자, 문자열, 리스트, 딕셔너리를 추가하는 식으로 해당 파이썬 딕셔너리를 수정할 수 있어야 합니다. 마지막 콜백의 끝에 있는 딕셔너리는 세이브 슬롯의 일부로서 저장됩니다.

콜백이 전달 받는 딕셔너리는 언더바 (_) 로 시작하는 키를 포함하고 있을 수도 있다. 이 키는 렌파이가 사용하는 것이므로 변경하지 않아야 합니다.

config.thumbnail_height = 75

게임이 세이브 될 때 찍는 썸네일의 세로 길이. 이 썸네일은 게임이 불려질 때 나타납니다. 썸네일은 썸네일을 사용자가 봤을 때 이 변수에 설정한 값보다는 썸네일이 찍혔을 때의 크기로 나타난다는 점을 기억해야 합니다.

load_save 레이아웃을 사용하는 때는, 다른 디폴트값이 사용될 수도 있습니다.

config.thumbnail_width = 100

게임이 세이브 될 때 찍는 썸네일의 가로 길이. 이 썸네일은 게임이 불려질 때 나타납니다. 썸네일은 썸네일을 사용자가 봤을 때 이 변수에 설정한 값보다는 썸네일이 찍혔을 때의 크기로 나타난다는 점을 기억해야 합니다.

load_save 레이아웃을 사용하는 때는, 다른 디폴트값이 사용될 수도 있습니다.

config.window_auto_hide = [ 'scene' ]

window auto 명령문에 의해 빈 대사창이 숨겨지는 명령문 리스트.

config.window_auto_show = [ 'say' ]

window auto 명령문에 의해 빈 대사창이 나타나는 명령문 리스트.

config.window_overlay_functions = []

대사창이 나타날 때만 호출되는 오버레이 함수의 리스트 .

드물게 혹은 내부에서 사용되는 변수

config.adjust_view_size = None

None이라면 물리 창의 가로 길이와 세로 길이를 인수로 받는 함수이어야 합니다. OpenGL 뷰포트, 렌파이가 그림을 그리르 화면의 비율을 나타내는 가로 길이와 세로 길이를 지정하는 튜플을 반환해야 합니다.

특정한 창 크기만 허용하도록 설정할 때 사용할 수 있습니다. 예를 들어, 다음과 같이 코드를 적으면 원래 화면 크기에서 오직 정수로 곱한 만큼의 크기만 허용할 것입니다.

init python:

    def force_integer_multiplier(width, height):
        multiplier = min(width / config.screen_width, height / config.screen_height)
        multiplier = max(int(multiplier), 1)
        return (multiplier * config.screen_width, multiplier * config.screen_height)

    config.adjust_view_size = force_integer_multiplier
config.afm_bonus = 25

자동 진행 모드가 활성화중일 때 모든 문자열에 추가되는 추가 글자 수.

config.afm_callback = None

None이 아닌 경우, 자동 진행이 안전한지 아닌지를 결정하기 위해 호출되는 파이썬 함수. 음성이 재생중일 때 자동 진행을 비활성화하기 위한 음성 시스템에 사용될 수 있습니다.

config.afm_characters = 250

자동 진행 모드가 실행되기 전에 대기 시간을 발생시키기 위해서 받는 문자열 내의 글자 수.

config.all_character_callbacks = [ ]

모든 캐릭터 객체가 호출하는 콜백의 리스트. 이 리스트는 특정 캐릭터 객체의 콜백의 리스트 앞에 추가됩니다.

config.allow_skipping = True

False로 설정하면, 사용자는 게임의 텍스트를 스킵할 수 없습니다.

config.archives = [ ]

이미지나 다른 데이터를 검색하기 위한 아카이브 파일 리스트. 이 리스트의 엔트리는 .rpa 확장자를 제외한 아카이브 파일의 기본 이름을 제공하는 문자열로 구성되어야 합니다.

아카이브는 이 리스트에서 발견되는 순서대로 검색됩니다. 리스트에서 처음으로 검색되는 아카이브에서 파일을 가져옵니다.

렌파이가 구동될 때 자동으로 game 디렉토리에 있는 모든 아카이브 파일 이름이 이 변수에 저장됩니다. 아카이브 목록은 아스키 순서의 역으로 정렬됩니다. 예를 들어 data.rpa, patch01.rpa, patch02.rpa 가 있다고 했을 때 이 변수의 값은 ['patch02', 'patch01', 'data'] 가 됩니다.

config.auto_choice_delay = None

None이 아닌 경우에, 이 변수는 무작위로 선택문을 고르기 전에, 선택지에서 렌파이가 잠시 대기하는 시간을 가리키는 초 단위 숫자입니다. 게임을 배포할 때에는 언제나 None으로 설정해야 하지만, 여기에 숫자를 세팅하면 사용자의 인터렉션 없이 자동으로 게임을 시연하게 될 것입니다.

config.autoreload = True

참이라면 shift+R 으로 자동 재시작 기능을 켜거나 끌 수 있습니다. 자동 재시작 기능이 활성화되면 렌파이는 게임에서 사용하는 파일이 수정될 때마다 게임을 재시작합니다.

거짓값이라면 렌파이는 shift+R 을 누를 때마다 게임을 재시작합니다.

config.autosave_frequency = 200

자동 저장을 하기 전까지 발생해야 하는 인터렉션의 양. 자동 저장을 방지하려면 config.has_autosave 를 False로 설정하고, 이 변수는 변경하지 마시기 바랍니다.

config.autosave_on_choice = True

참이라면 렌파이는 게임 내에서 선택지가 등장할 때마다 자동 저장합니다. (renpy.choice_for_skipping() 가 호출되었을 때.)

config.autosave_on_quit = True

참이라면 렌파이는 사용자가 게임을 종료하거나, 메인 메뉴로 돌아가거나, 게임을 진행 중인 상태에서 불러오기를 시도할 때 자동 저장합니다. (시간을 절약하기 위해 사용자가 해당 액션을 실행할 것인지 되묻는 창이 뜬 상태에서만 자동 저장 기능이 발생합니다.)

config.character_callback = None

Character의 매개 변수인 콜백의 기본값.

config.choice_layer = "screens"

menu 문이 사용하는 choice 스크린이 나타날 레이어 이름.

config.clear_layers = []

메인 메뉴 및 게임 메뉴에 진입할 때 클리어할 레이어 이름의 리스트.

config.context_clear_layers = [ 'screens' ]

새 상황에 진입할 때 비워지는 레이어의 리스트.

config.fade_music = 0.0

새 음악이 시작하기 전에 이전 음악을 페이드하기까지 걸리는 초 단위 시간. 적은 값으로 설정해서 다른 음악이 너무 오래 재생되지 않도록 해야 합니다.

config.fast_skipping = False

True로 설정하면 개발자 모드를 사용하지 않을 때도 빠른 스킵을 허용합니다.

config.file_open_callback = None

None이 아니라면, 파일이 열려야 할 때 파일 이름과 함께 호출되는 함수입니다. 파일 유사 객체를 반환하거나 통상적인 렌파이 메카니즘을 사용하는 파일을 불러오는 경우에는 None을 반환해야 합니다. 파일 유사 객체는 반드시 읽고, 찾고, 명령하고, 닫는 메쏘드를 구현해야 합니다.

config.focus_crossrange_penalty = 1024

키보드로 초점을 움직일 때, 움직임의 방향을 선택하기 위한 수직 이동에 적용할 패널티의 양입니다.

config.gl_enable = True

False로 설정하면 OpenGL 가속을 비활성화합니다. OpenGL 가속은 시스템이 OpenGL을 지원할 수 없다면 자동으로 비활성화하므로 이 옵션을 설정할 필요는 없습니다.

OpenGL은 게임 구동시에 쉬프트키를 누르고 있어도 비활성화할 수 있습니다.

config.gl_resize = True

OpenGL 모드에서 게임을 실행할 때 창 크기 변경 가능 여부를 결정합니다.

config.hard_rollback_limit = 100

롤백 허용 횟수입니다. 0으로 설정하면 롤백을 전부 비활성화합니다. 그러나 유저가 실수로 넘겨버린 텍스트를 볼 때 롤백이 굉장히 유용하기 때문에 0 으로 설정하는 것은 추천하지 않습니다.

config.hide = renpy.hide

hide 문 이 실행될 때 호출되는 함수. renpy.hide와 같은 인수를 받아야 합니다.

config.imagemap_auto_function = ...

스크린 언어의 이미지 버튼 이나 이미지맵 명령문이 사용하는 auto 속성을 확장시키는 함수. auto 속성의 값과, 요구되는 이미지 - "insensitive", "idle", "hover", "selected_idle", "selected_hover", "ground" 의 이미지를 받는다. 디스플레이어블이나 None을 반환해야 합니다.

auto 속성은 기본적으로 필요한 이미지들을 형식화하고, 계산한 파일 이름이 존재하는지 확인합니다.

config.imagemap_cache = True

참이라면, 이미지맵의 핫스팟이 PNG 파일로 캐싱됩니다. 로딩 시간과 메모리 사용량을 감소시키지만 게임 용량을 증가시킵니다. 이 동작을 비활성화하려면 False 값으로 설정하세요.

config.implicit_with_none = True

True면, 대화, 메뉴 입력, 이미지맵에 의해 발생하는 인터렉션 다음에 with None 문과 동등한 것이 기본적으로 실행되도록 합니다. 트랜지션 하는 동안에 이전 화면이 나타나지 않도록 합니다.

config.interact_callbacks = ...

인터렉션이 시작 혹은 재시작 될 때 (인수 없이) 호출되는 함수의 리스트.

config.keep_running_transform = True

True면 동일한 이미지 태그가 지정된 이전 이미지에 적용되었던 ATL이나 트랜스폼이 새로 표시될 이미지에도 적용됩니다. False면 새 이미지를 표시할 때는 트랜스폼이 중지됩니다.

config.keymap = dict(...)

이 변수는 키와 마우스 버튼을 각각 가능한 작업에 배정하는 키맵을 포함합니다. 더 자세한 정보는 단축키 설정하기를 참고하세요.

config.label_callback = None

None이 아니면, 이것은 레이블에 도달했을 때라면 언제든지 호출되는 함수입니다. 이 함수는 두 개의 매개 변수와 함께 호출됩니다. 첫 번째는 레이블의 이름. 두 번째 것은 레이블에 jump, call, 새로운 상황을 생성하면서 도달했을 때 True 값이며 그 외에는 False입니다.

config.label_overrides = { }

이 변수는 렌파이 코드 내에 레이블이 다른 레이블로 리디렉션되는 호출이나 점프를 발생하는 방법을 제공합니다. 예를 들어 "start"를 "mystart"로 매핑하는 방법을 추가하면 "start"로 이동하거나 호출하는 모든 것들은 전부 "mystart"로 가게 됩니다.

config.layer_clipping = { }

레이어 클리핑을 제어합니다. 레이어 이름을 (x, y, 가로 길이 , 세로 길이) 튜플에 매핑합니다, x 와 y 는 레이어의 좌측 상단을 원점으로 삼는 좌표이고, 가로 길이와 세로 길이는 지정한 레이어의 크기입니다.

레이어를 config.layer_clipping 에 지정하지 않았다면, 전체 화면을 차지하는 것으로 간주합니다.

config.layers = [ 'master', 'transient', 'screens', 'overlay' ]

이 변수는 렌파이가 알고 있는 모든 레이어의 리스트를 (화면에 표시되는 순서대로) 제공합니다. (가장 낮은 레이어는 리스트에서 첫 번째에 있는 레이어입니다.) 렌파이는 내부적으로 "master", "transient", "screens", "overlay" 레이어를 사용하기 때문에 이 레이어들은 언제나 이 리스트에 있어야 합니다.

config.lint_hooks = ...

스크립트 오류 검사가 실행될 때 아무런 인수 없이 호출되는 함수의 리스트입니다. 이 함수는 오류를 검출하기 위해 스크립트 데이터를 확인하고, 검색된 정보들을 표준 출력으로 프린트합니다( 이 경우에는 파이썬 print문을 사용하는 것이 좋습니다).

config.load_before_transition = True

True라면, 인터렉션의 시작이 그 인터렉션에 의해 사용되는 모든 이미지가 로딩될 때까지 늦춰질 것입니다. (네, 변수 이름이 참 저질이죠.)

config.longpress_duration = 0.5

터치 기기에서 터치가 롱터치로 인식되기 위해 플레이어가 화면을 눌러야 하는 시간.

config.longpress_radius = 15

터치 기기에서 터치가 롱터치로 인식되기 위해 눌려야 하는 픽셀의 양.

config.longpress_vibrate = .1

롱터치 후에 기기가 진동하는 시간.

config.log = None

None이 아니라면, 파일 이름이어야 합니다. say 문 혹은 menu문 으로 표시되는 대부분의 텍스트는 이 파일에 기록될 것입니다.

config.missing_image_callback = None

None이 아니라면, 이것은 이미지를 불러오는 데 실패할 경우 호출되는 함수이어야 합니다. None을 반환하거나 이미지 조작기를 반환할 수도 있습니다. 이미지 조작기가 반환되면 그 이미지 조작기는 없는 이미지를 대체하여 불려올 것입니다.

config.missing_label_callback = None

None이 아니라면, 이 함수는 렌파이가 게임에 존재하지 않는 레이블에 접근하려 할 때 호출됩니다. 이 함수는 없는 레이블을 대신해 사용될 레이블의 이름을 반환하거나, 렌파이가 예외를 발생시키도록 None을 반환해야 합니다.

config.mouse_hide_time = 30

아무런 마우스 입력이 없다면 이 변수에 지정한 초 단위 시간이 경과한 후에 마우스 커서가 사라집니다. 하나의 화면을 읽는 동안 소요될 것으로 예상되는 시간보다 더 길게 설정해 마우스 사용자가 클릭한 사이에 마우스 커서가 나타났다 사라지는 것을 볼 일이 없도록 해야 할 것입니다.

config.new_substitutions = True

True면 모든 텍스트에 적용할 변수 삽입 방식을 대괄호 방식으로 바꿉니다.

config.old_substitutions = False

True면 say문menu문 에 적용할 변수 삽입 방식을 퍼센트 방식으로 바꿉니다.

config.overlay_during_with = True

with문 이 동작하는 동안 오버레이를 표시하고 싶다면 True, 숨기고 싶다면 False.

config.overlay_layers = [ 'overlay' ]

오버레이 레이어의 리스트입니다. 오버레이 레이어는 오버레이 함수가 호출되기 전에 클리어됩니다. "overlay"는 항상 이 리스트에 있어야 합니다.

config.periodic_callback = None

None이 아니라면 언제나 함수이어야 합니다. 이 함수는 20hz근처에서 인수 없이 호출됩니다.

config.predict_statements = 10

예측 이미지 로딩을 할 때 고려하기 위한, 현재 명령문까지 포함한, 명령문들의 숫자입니다. 현재 명령문에서 넓이 우선 탐색은 여기서 지정한 수 만큼의 명령문이 고려될 때까지 수행되며, 명령문 내에서 참조된 어떤 이미지든 잠재적으로 예측하여 로드될 수 있습니다. 0으로 설정하면 이미지의 예측 로딩을 비활성화합니다.

config.profile = False

True로 설정하면, 몇 가지 정보 수집 결과를 표준 출력합니다.

config.quit_on_mobile_background = False

참이면 모바일 앱이 포커스를 잃었을 때 종료됩니다.

config.rollback_enabled = True

사용자에게 게임 롤백을 허용하도록 해야 할까요? False로 설정하면 사용자는 실시간으로 롤백할 수 없습니다.

config.rollback_length = 128

이 변수에 설정된 값보다 롤백 기록에 더 많은 명령문이 있다면 기록을 잘라냅니다.

config.say_allow_dismiss = None

None이 아니라면 이것은 함수이어야 합니다. 이 함수는 사용자가 :ref:`say문 <say-statement> 에서 대사를 넘기려고 할 때 아무런 인수 없이 호출될 것입니다. 이 함수가 True값을 반환한다면 대사를 넘기는 건 허용되며, 다른 경우에는 무시됩니다.

config.say_layer = "screens"

say 스크린이 나타나는 레이어.

config.say_menu_text_filter = None

None이 아니라면 say문menu문 에서 사용되는 문자열에서 발견한 텍스트를 인수로 받는 함수입니다. 함수는 인수로 받은 텍스트를 대체할 새로운(혹은 같은) 문자열을 반환해야 합니다.

config.say_sustain_callbacks = ...

일시정지 태그가 있는 대사 때문에 인터렉션이 둘 이상 만들어졌을 때, 그 인터렉션 전에 호출되는 함수 목록. 일시정지 중에도 음성 파일을 계속 재생할 때 사용됩니다.

config.save_dump = False

True로 설정하면 게임을 저장할 때마다 save_dump.txt 파일을 만듭니다. save_dump.txt 파일에는 세이브 파일에 기록한 객체 정보를 기록합니다. 행마다 객체 크기 측정값, 객체 경로, 객체의 가명 여부에 대한 정보, 객체 대표가 나타나있습니다.

config.save_on_mobile_background = True

참이면 모바일 앱이 포커스를 잃었을 때 게임 상태를 저장한다. 앱이 다시 실행되었을 때 해당 상태를 자동으로 불러와 게임이 해당 지점에서 다시 재개되도록 게임 상태를 저장한다.

config.save_physical_size = True

True면 게임 창의 물리 크기를 환경설정에 저장하고, 게임을 다시 시작했을 때도 해당 크기를 유지합니다.

config.savedir = ...

게임이 저장된 디렉토리의 완전한 경로입니다. python early 블록 안에서 설정되어야 합니다. python early 내에서 설정되지 않은 경우 이 설정을 위해 기본값을 생성하는 config.save_directory 도 함께 살펴보세요.

config.scene = renpy.scene

scene문이 실행하는 scene 문 대신에 사용할 함수. 스크린을 클리어할 때 사용하는 것이고, config.show가 새 이미지를 표시할 때 사용되는 것임을 기억하세요. 이것은 renpy.scene과 동일한 시그니쳐를 가져야 합니다.

config.screenshot_callback = ...

스크린샷이 찍힐 때 호출되는 함수. 이 함수는 하나의 매개변수인 스크린샷이 저장된 경로와 함께 호출됩니다.

config.screenshot_crop = None

None이 아니라면, (x, y, 세로 길이, 가로 길이) 형태의 튜플이어야 합니다. 스크린샷은 저장되기 전에 여기서 지정한 사각형의 형태로 잘려지게 됩니다.

config.screenshot_pattern = "screenshot%04d.png"

스크린샷 파일을 만들 때 사용할 패턴. 이 패턴은 (파이썬의 %-포매팅 규칙를 사용해) 파일 이름을 연속으로 만들 때 사용하는 자연수에 적용됩니다. 파일 이름은 config.renpy_base 값에 영향을 받거나 받지 않을 수도 있습니다. 존재하지 않는 첫 번째 파일 이름이 스크린샷 파일의 이름으로 사용됩니다.

config.script_version = None

None이 아닌 경우, 이것은 스크립트의 버전으로 해석됩니다. 라이브러리는 이 스크립트 버전을 사용해 필요한 경우에 그 버전에 호환되는 기능을 활성화합니다. None이라면, 이 스크립트가 가장 최신 버전이라고 가정합니다.

이것은 일반적으로 렌파이 런처로 배포판을 작성할 때 파일 내부에 설정됩니다.

config.searchpath = [ 'common', 'game' ]

스크립트 외에 그림, 음악, 자료, 그리고 다른 미디어를 검색할 경로의 목록. "commom" 과 게임 디렉토리의 이름을 포함하는 리스트로 초기화됩니다.

config.search_prefixes = [ "", "images/" ]

렌파이에서 사용할 수 있도록 검색되는 파일이름 앞에 붙는 접두사의 리스트.

config.show = renpy.show

show문scene문 에서 renpy.show 대신에 사용할 함수. renpy.show와 동일한 시그니처가 있어야 합니다.

config.skip_delay = 75

ctrl 키를 사용해 대화를 스킵하고 있는 때에, 대화 텍스트를 표시할 시간의 양. 1/1000초 단위. (실제로 이만큼 정확하게 쓸 필요는 전혀 없을 것입니다.)

config.skip_indicator = True

True면, 스크립트를 스킵하고 있을 때 스킵중이라는 표시기가 표시됩니다.

config.sound = True

True면, 사운드가 작동합니다. False면, 사운드/믹서 서브 시스템이 완전히 비활성화됩니다.

config.sound_sample_rate = 44100

사운드 카드가 실행할 샘플링 비율. 모든 .wav 파일의 샘플링 비율이 이보다 낮다면, 이 설정을 .wav 파일의 샘플링 비율로 변경하는 것이 더 효과적일 것입니다

config.start_callbacks = [ ... ]

init 과정을 마친 후, (스플래시 스크린이 표시되고) 게임이 시작하기 전에 인수 없이 호출되는 콜백 함수의 리스트. 저장될 변수를 초기화하기 위해 프레임워크가 사용하는 변수입니다.

기본값은 NVL 모드 등의 기능을 구현하기 위해 렌파이가 내부적으로 사용하는 콜백을 포함합니다. 새로운 콜백을 이 리스트에 추가할 수 있으나, 기존의 콜백은 제거하지 않아야 합니다.

config.start_interact_callbacks = ...

인터렉션이 시작될 때 (인수 없이) 호출되는 함수. 이 콜백들은 인터렉션이 재시작될 때는 호출되지 않습니다.

config.top_layers = [ ]

다른 모든 레이어 위에 표시되며 모든 레이어에 적용되는 트랜지션 효과가 적용되지 않는 레이어 이름의 리스트입니다. 만일 한 레이어 이름이 이 목록에 추가되면 그 레이어는 config.layers 내에 추가되지 않습니다.

config.transient_layers = [ 'transient' ]

모든 임시 레이어의 리스트입니다. 임시 레이어들은 각 인터렉션마다 클리어되는 레이어입니다. "transient"은 언제나 이 리스트에 있어야 합니다.

config.transform_uses_child_position = True

True면, 트랜스폼은 하위 디스플레이어블에게서 위치 속성 을 인수 받습니다. 아니라면 승계하지 않습니다.

config.transition_screens = True

참이라면 스크린이 트랜지션에 참여해 스크린의 이전 상태가 새로운 상태의 스크린으로 디졸브됩니다. False면 최신 상태의 스크린만 화면에 표시됩니다.

config.variants = [...]

사용자에게 표시할 스크린을 선택할 때 검색할 스크린 종류의 리스트. 기본 스크린을 선택할 수 있도록 리스트의 마지막 요소는 항상 None이어야 합니다. 자세한 사항은 스크린 종류 항목을 참조하세요.

config.voice_filename_format = "{filename}"

voice 문에 문자열 인수로 구성되어 게임에서 재생할 파일이름을 생성하는 문자열. 예를 들어 이 값이 "{filename}.ogg"라면 voice "test" 문은 test.ogg 를 재생합니다.

config.with_callback = None

None이 아니라면, with문 이 실행될 때 호출되는 함수이어야 합니다. 이 함수는 트랜지션이 발생하는 도중에 화면 상에 임시적인 것들을 배치하는 데에 사용될 수 있습니다. 이 함수는 발생중인 트랜지션을 하나의 인수로 받아 호출됩니다. 그 인수로 지정하거나 지정하지 않은 트랜지션 효과를 하나 반환해야 합니다.