목차

이전 항목

스크린과 스크린 언어

다음 항목

특수 스크린 목록

링크


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

스크린 액션, 값, 함수

렌파이에는 스크린과 스크린 언어에서 사용할 수 있는 다양한 액션, 값, 함수가 있습니다.

액션

액션은 이미지버튼이나 핫스팟 등의 버튼이 활성화되었을 때, 포커스를 얻었을 때, 포커스를 잃었을 때 발생합니다. 액션은 버튼이 선택되거나 비활성화 상태이어야 할 때를 결정할 수 있습니다.

이런 액션과 함께 있을 때, 액션은 아무 인수도 받지 않는 함수일 수도 있습니다. 함수는 해당 액션이 실행될 때 호출됩니다. 만약 액션이 함수를 반환하면, 그 값은 인터렉션에서 반환됩니다.

액션은 액션 리스트가 될 수도 있으며, 리스트에 있는 액션들은 순서대로 실행될 것입니다.

제어 액션

제어 흐름, 인터렉션 결과, 스크린을 관리하는 액션입니다.

Hide(screen, transition=None)

screen 이라는 이름의 스크린이 표시 중이라면 숨긴다.

transition
None이 아니라면, 스크린을 숨길 때 발생하는 트랜지션이다.
Jump(label)

주어진 레이블로 제어 흐름을 이동시킨다. 특정 레이블로 점프하는 이미지맵을 정의하기 위해 renpy.run_screen 과 결합해 사용할 수 있다.

NullAction()

아무런 동작을 하지 않는다.

아무런 동작을 하지 않으면서 마우스 커서에 반응해 이벤트를 실행하는 버튼을 만들 때 사용한다.

Return(value=True)

지정한 값을 반환하는 인터렉션을 발생시킨다. 인터렉션의 반환값이 무엇인지 선택하기 위해 메뉴나 이미지맵과 함께 쓰인다.

메뉴에 있을 때는 메뉴로부터 반환한다.

Show(screen, transition=None, *args, **kwargs)

또다른 스크린을 표시한다. screen 은 스크린의 이름이 적힌 문자열이다. 키워드 인수는 표시된 스크린으로 전달된다.

None이 아니라면 새로운 스크린을 표시할 때 `transition`을 사용한다.

ShowTransient(screen, *args, **kwargs)

일시적으로 나타나는 스크린을 표시한다. 일시적으로 나타나는 스크린은 현재 인터렉션이 완료되면 사라지게 된다.

데이터 액션

데이터를 설정하거나 토글합니다.

AddToSet(set, value)

`set`에 `value`를 추가한다.

set
값을 추가할 셋. 파이썬 세트 혹은 리스트이어야 한다. 리스트인 경우 value는 리스트에 덧붙인다.
value
셋이나 리스트에 추가하거나 덧붙일 값.
RemoveFromSet(set, value)

`set`에서 `value`를 제거한다.

set
값을 제거할 셋. 셋 혹은 리스트이어야 한다.
value
셋이나 리스트에 추가하거나 덧붙일 값.
SetDict(dict, key, value)

dict 내에 있는 `key`의 값을 `value`로 설정한다.

SetField(object, field, value)

객체의 필드를 지정한 값으로 설정한다. object 는 객체, field`는 설정할 필드의 이름값을 제공하는 문자열, `value 는 그것에 설정할 값이다.

SetScreenVariable(name, value)

현재 스크린과 관련이 있는 name 변수의 값을 value 로 설정한다.

SetVariable(variable, value)

valuevariable 에 설정한다.

ToggleDict(dict, key, true_value=None, false_value=None)

dict 내의 key 값을 토글한다. 토글이란 액션이 실행될 때 값이 반전된다는 의미이다.

true_value
None이 아니면 참값이 된다.
false_value
None이 아니면 거짓값이 된다.
ToggleField(object, field, true_value=None, false_value=None)

objectfield 를 토글한다. 토글이란 액션이 실행될 때 필드의 참거짓 값을 반전한다는 의미이다.

true_value
None이 아니면 참값이 된다.
false_value
None이 아니면 거짓값이 된다.
ToggleScreenVariable(name, true_value=None, false_value=None)

현재 스크린에 있는 name 변수의 값을 토글한다.

true_value
None이 아니면 참값이 된다.
false_value
None이 아니면 거짓값이 된다.
ToggleSetMembership(set, value)

setvalue 의 멤버십을 토글한다. 이 때 value 에 지정한 값이 셋에 없다면 값이 셋에 추가된다. 이 이외에는 제거된다.

이 액션을 사용하는 버튼은 지정한 `set`에 `value`가 있을 때에만 선택된 상태로 표시된다.

set
값을 추가하거나 제거할 셋. 셋 또는 리스트이어야 한다. 리스트일 때에는 새로운 아이템이 덧붙여진다(append).
value
추가하거나 덧붙일 값.
ToggleVariable(variable, true_value=None, false_value=None)

variable 을 토글한다.

true_value
None이 아니면 참값이 된다.
false_value
None이 아니면 거짓값이 된다.

메뉴 액션

메뉴를 호출하거나, 메인 메뉴 또는 게임 메뉴에서 가장 유용한 액션입니다.

Ren'Py 메인 메뉴로 돌아가게 한다.

confirm
참인 경우, 곧바로 메인 메뉴로 돌아가지 않고 메인 메뉴로 돌아갈 것인지 플레이어에게 확인 질문을 한다.
Quit(confirm=True)

게임을 종료한다.

confirm
참인 경우, 곧바로 종료하지 않고 플레이어에게 종료할 것인지 확인 질문을 한다.
ShowMenu(screen=None, *args, **kwargs)

이미 게임 메뉴에 있는 게 아닌 경우라면, 게임 메뉴로 진입한다. 게임 메뉴에 있다면 라벨로 돌아가거나 스크린을 띄운다.

screen 은 일반적으로 스크린 기능을 사용해 나타난 스크린의 이름이다. 스크린이 없다면, "_screen"이 뒤에 붙어서 레이블로 점프하게 된다.

  • ShowMenu("load")
  • ShowMenu("save")
  • ShowMenu("preferences")

사용자가 정의한 메뉴 스크린을 표시할 때도 사용할 수 있다. 예를 들어, "stats" 이라고 정의한 스크린이 있는 경우, 아래와 같이 적으면 게임 메뉴의 일부로 표시할 수 있다:

  • ShowMenu("stats")

인수가 없는 ShowMenu 는 _game_menu_screen에 기본으로 정의해둔 게임 메뉴 화면으로 진입하게 한다.

추가 인수와 키워드 인수는 스크린에 전달된다.

Start(label='start')

메뉴에서 빠져나와 인수로 받은 레이블로 이동한다. 메인 메뉴에서 새 게임을 시작하기 위해 주로 사용한다. 일반적인 사용 방법은 다음과 같다.:

  • Start() - start label에서 시작
  • Start("foo") - "foo" label에서 시작

파일 액션

세이브, 로드 파일 삭제를 관리하는 액션입니다. 이 액션들은 대부분 namepage 인수를 받습니다

name
세이브 파일의 이름. 문자열이나 정수가 올 수 있다. filename을 생성하기 위해 page와 함께 결합되어있다.
page
액션이 실행될 페이지. "auto", "quick", 양의 정수 값이 입력되어야 한다. None이면, 페이지는 연속하는 페이지 숫자에 의해 자동으로 정의된다.
FileAction(name, page=None, **kwargs)

파일에 "적당한 작업"을 한다. "load" 스크린이 표시되고 있으면 파일을 불러오고, save 스크린이 표시되고 있으면 저장한다.

name
저장하거나 불러올 슬롯의 이름. None이면 사용되지 않은 (현시점에서 가장 큰 순번의) 슬롯을 사용한다.
page
파일을 저장하거나 불러올 페이지. None이면 현재 페이지를 사용한다.

기타 키워드 인수는 FileLoad 또는 FileSave에 전달된다.

FileDelete(name, confirm=True, page=None)

파일을 삭제한다.

confirm
값이 참이면, 파일을 지우기 전에 확인 메세지를 띄운다.
FileLoad(name, confirm=True, page=None, newest=True)

파일을 불러온다.

name
불러올 슬롯 이름. None이면 사용되지 않은 파일은 불러올 수 없을 것이다.
confirm
값이 참이면, 로딩이 게임을 종료시키는 경우 확인 메세지를 띄운다.
page
불러올 파일이 있는 페이지. None이면 현재 페이지를 사용한다.
newest
True 면, 이 버튼이 가장 최근 파일을 가리킬 때 선택된 상태가 된다.
cycle
무시된다.
FilePage(page)

"auto", "quick", 양의 정수 가운데 하나이어야 하는 page 에 파일 페이지를 설정한다.

FilePageNext(max=None, wrap=False)

다음 파일 페이지로 이동한다.

max
이 값이 설정되었다면, 접근할 수 있는 최대 파일 페이지의 숫자를 제공하는 정수이어야 한다.
wrap
참이라면 max에 설정한 마지막 파일 페이지에서 첫 번째 페이지로 이동할 수 있다.
FilePagePrevious(max=None, wrap=False)

가능한 경우 이전 파일 페이지로 이동한다.

max
값을 설정하면 이 값은 파일 페이지의 마지막을 나타내는 정수이어야 한다. wrap 기능을 사용하기 위해서 설정해야 하는 인수이다.
wrap
참이라면 max에 설정한 마지막 파일 페이지에서 첫 번째 페이지로 이동할 수 있다.
FileSave(name, confirm=True, newest=True, page=None, cycle = False)

파일을 저장한다.

가장 최근 세이브 파일로 표시된 경우에는 이 액션이 함께 쓰인 버튼 슬롯이 선택된다.

name
세이브할 슬롯 이름. None이면 사용되지 않은 (현시점에서 가장 큰 순번의) 슬롯이 사용된다.
confirm
값이 참이면, 파일을 덮어쓰기 전에 확인 메세지를 띄운다.
newest
무시된다.
page
파일 슬롯이 배치될 페이지의 이름. None이면 현재 페이지를 사용한다.
cycle
True면, 페이지에 있는 세이브가 사용자에게 나타나기 전에 순환될 것이다. 순환할 때 config.quicksave_slots 에 지정한 슬롯값을 사용한다.
FileTakeScreenshot()

게임이 세이브 될 때 스크린샷을 찍는다. 세이브 화면이 나타나기 전의 화면을 찍어서 스크린샷이 정확히 되었는지 확인하기 위해 사용할 수 있다.

QuickLoad()

퀵세이브로 저장한 파일을 불러온다.

QuickSave(message='퀵 세이브 완료.', newest=False)

퀵 세이브를 한다.

message
퀵 세이브가 완료되었을 때 화면에 표시할 메시지.
newest
퀵세이브로 저장한 세이브 파일을 가장 최근 세이브파일로 지정하고 싶다면 True 로 설정하라.

오디오 액션

Play(channel, file, selected=None, **kwargs)

지정한 채널에서 소리 파일을 재생한다.

channel
소리가 재생될 채널.
file
재생할 파일.
selected`
참값이라면 이 액션을 사용하는 버튼은 이 액션에서 지정한 파일이 지정한 채널에서 재생중일 때 선택된 상태로 표시한다. False라면 이 액션은 소리 파일을 재생하지 않는다. None이라면 지정한 채널이 음악 채널일 때 선택된 상태로 표시되며, 그 외에 경우에는 선택된 상태로 표시되지 않는다.

모든 키워드 인수는 renpy.music.play() 에 전달된다.

Queue(channel, file, **kwargs)

지정한 채널에 오디오 파일을 대기열에 추가한다.

channel
소리가 재생될 채널.
file
재생할 파일.

모든 키워드 인수는 renpy.music.quene() 에 전달된다.

SetMixer(mixer, volume)

mixer 의 음량을 value 로 설정한다.

mixer
음량을 설정할 믹서. 문자열. 보통은 "music", "sfx", "voice" 셋 중 하나.
value
소리 크기. 값은 0.0 이상 1.0 이하의 숫자.
SetMute(mixer, mute)

하나 이상의 믹서를 음소거 상태로 설정한다. 어느 믹서가 음소거 상태라면 해당 믹서가 담당하는 오디오 채널은 소리 재생을 중단할 것이다.

mixer
믹서 이름이 적힌 문자열 또는 믹서 이름이 적힌 문자열 리스트. 문자열은 믹서 이름을 나타내야 하며 일반적으로 "music", "sfx", "voice" 믹서가 있다.
mute
True면 믹서를 음소거하며, False면 음소거 해제한다.
Stop(channel, **kwargs)

오디오 채널이 멈추도록 한다.

channel
소리가 멈추게 될 채널.

모든 키워드 인수는 renpy.music.stop() 에 전달된다.

ToggleMute(mixer)

하나 이상의 믹서를 음소거하거나 음소거 해제한다.

mixer
믹서 이름이 적힌 문자열 또는 믹서 이름이 적힌 문자열 리스트. 문자열은 믹서 이름을 나타내야 하며 일반적으로 "music", "sfx", "voice" 믹서가 있다.

기타 액션

분류될 곳이 없는 기타 액션입니다.

Function(callable, *args, **kwargs)

callable`을 `args`kwargs`와 함께 호출하는 액션.

callable
콜러블 객체
args
`callable`에 전달할 위치 인수.
kwargs
`callable`에 전달할 키워드 인수.

이 액션은 추가로 기본값이 True인 _update_screens 키워드 인수를 받는다. 이 키워드 인수가 참이면 이 함수가 종료한 뒤에 인터렉션을 재시작하고 스크린을 갱신한다.

Help(help=None)

도움말을 표시한다.

help
이 문자열이 프로그램 내에 있는 레이블을 가리킨다면, 버튼이 선택되었을 때 해당 레이블이 새 상황에서 호출된다. 그렇지 않으면, 웹브라우저에서 열릴 파일의 이름을 지정하는 문자열이어야 한다. None 이라면 config.help의 값이 같은 방식으로 사용된다.
HideInterface()

사용자가 클릭할 때까지 인터페이스를 숨긴다.

If(expression, true = None, false=None)

expression 이 True라면 true 를 반환하고, 그렇지 않으면 false 를 반환한다. 표현식에 기초한 액션을 선택할 때 사용할 수 있다. 기본값인 None 값은 버튼이 사용 불가능하도록 만들 때 사용된다.

InvertSelected(action)

다른 메소드들을 대신하면서, 지정한 액션의 선택 상태를 반전한다.

MouseMove(x, y, duration=0)

마우스 포인터를 x, y 로 이동시킨다. 마우스 포인터를 지원하지 않는 기기이거나 _preferences.mouse_move 가 False라면 작동하지 않는다.

duration
마우스 포인터를 이동시키는 데에 걸리는 초 단위 시간. 마우스는 이동시키는 시간 동안에 사용할 수 없을 것이다.
Notify(message)

renpy.notify() 를 사용해 message 를 표시한다.

OpenURL(url)

url 을 웹브라우저에서 연다.

RestartStatement()

현재 명령문 이전으로 롤백한 뒤, 현재 명령문을 다시 실행시킨다. 명령문 표시에 영향을 미치는 지속 변수를 변경할 때 사용할 수 있다.

메뉴 상황에서 실행하면 롤백을 실행하기 전에 최상위레벨 상황으로 빠져나갈 때까지 대기한다.

RollForward()

롤포워드가 가능하면 롤포워드한다. 그 외에 이 액션은 비활성화된다.

RollBack()

롤백이 가능하면 롤백한다. 불가능하면 아무 일도 안 일어난다.

Screenshot()

스크린샷을 찍는다.

SelectedIf(expression)

버튼을 선택된 상태로 표시해야 하는지를 결정하는 표현식을 사용할 수 있는 액션. 액션이 하나 이상 적힌 리스트에서 사용해야 한다.

# mars_flag 가 True면 선택된 상태로 나타나는 버튼.
textbutton "마소폴리스":
    action [Jump("mars"), SelectedIf(mars_flag)]
SensitiveIf(expression)

버튼이 사용 가능한 상태로 표시되어야 하는가를 결정하는 표현식을 사용할 수 있는 액션. 액션이 하나 이상 적힌 리스트에서 사용해야 한다.

# The button is sensitive if mars_flag is True
textbutton "마소폴리스":
    action [ Jump("mars"), SensitiveIf(mars_flag) ]
Skip(fast=False)

스킵을 시작한다. 게임이 메뉴 상황에 있다면 게임으로 돌아간다. 그 외의 경우에는 스킵을 시작한다.

fast
참이면 다음 선택지까지 곧바로 스킵한다.
confirm
참이면 스킵을 시작하기 전에 스킵을 개시할 것인지 묻는 질문창을 띄운다.
With(transition)

`transition`을 발생시킨다.

값은 바 값을 설정하거나 바가 기본 설정들을 조정하도록 하기 위해 바와 함께 사용됩니다.

AnimatedValue(value=0.0, range=1.0, delay=1.0, old_value=None)

값을 old_value 에서 value 로 변경하기까지 소요되는 초 단위 시간 delay 를 받아 값이 움직이게 한다.

value
값. 숫자.
range
값의 범위. 숫자.
delay
값이 변하기까지 소요되는 초단위 시간. 기본값은 1.0.
old_value
이전 값. None이면, 값은 우리가 교체한 AnimatedValue로부터 받는다. 그 외에는 value 에서 받은 값으로 초기화된다.
DictValue(dict, key, range, max_is_zero=False, style='bar', offset=0, step=None)

사용자가 딕셔너리에 있는 키 값을 조정할 수 있도록 하는 값.

dict
딕셔너리.
key
키.
range
조정할 값의 범위.
max_is_zero
이 값이 참이고 키의 값이 0이라면 바 값을 range로 설정하고 다른 값을 모두 1로 바꾼다. 바가 최대값으로 설정되어 있을 때 키 값을 0으로 설정한다. (두 가지 경우 모두 가능)
style
생성된 바에 적용할 스타일.
offset
값에 설정할 보정값.
step
바로 조정될 값의 단위. None이면, 바의 최대값의 1/10 으로 설정된다.
FieldValue(object, field, range, max_is_zero=False, style='bar', offset = 0)

객체 필드의 값을 플레이어가 조정할 수 있도록 하는 값.

object
객체.
field
문자열 형식으로 적은 필드.
range
조정 범위.
max_is_zero

값이 True이고 field가 0인 경우 바 값을 range로 설정하고, 다른 값을 모두 1로 바꾼다. 혹은, bar가 최대값으로 설정되어 있을 때 필드를 0으로 설정한다. (두 가지 경우 모두 가능)

이 매개변수는 몇 가지 환경설정 액션에서 사용하기 위해 내부에서 사용한다.

style
생성될 바에 적용할 스타일.
offset
값에 설정할 보정값.
step
바로 조정될 값의 단위. None이면, 바의 최대값의 1/10 으로 설정된다.
MixerValue(mixer)

오디오 믹서 값.

mixer
조정할 믹서의 이름. 일반적인 경우에는 "music", "sfx", "voice" 가운데 하나이어야 하나 제작자가 새 믹서를 생성할 수도 있다.
StaticValue(value=0.0, range=1.0)

값이 정적으로 지정되도록 한다.

value
값. 숫자.
range
값의 범위.
VariableValue(variable, range, max_is_zero=False, style='bar', offset=0, step=None)
variable
조정할 변수값이 적힌 문자열.
range
값을 조정할 최대 범위.
max_is_zero

값이 True이고 field가 0인 경우 바 값을 range로 설정하고, 다른 값을 모두 1로 바꾼다. 혹은, bar가 최대값으로 설정되어 있을 때 필드를 0으로 설정한다. (두 가지 경우 모두 가능)

이 매개변수는 몇 가지 환경설정 액션에서 사용하기 위해 내부에서 사용한다.

style
바에 만들어질 스타일.
offset
값에 더할 오프셋.
step
바로 조정될 값의 단위. None이면, 바의 최대값의 1/10 으로 설정된다.
XScrollValue(viewport)

스크린에서 지정한 id를 사용하는 뷰포트를 가로로 스크롤하는 조정값. 이 값이 value에 지정된 바가 정의되기 이전에 뷰포트가 정의되어야 한다.

YScrollValue(viewport)

스크린에서 지정한 id를 사용하는 뷰포트를 세로로 스크롤하는 조정값. 이 값이 value에 지정된 바가 정의되기 이전에 뷰포트가 정의되어야 한다.

함수와 클래스

다음 함수와 클래스는 특정 스크린에서 유용하게 쓸 수 있습니다.

환경설정

환경설정에 관한 모든 것은 위에 나열된 액션과 값으로 정의할 수 있으므로, 적합한 값이 무엇인지 알아내기 위해서는 렌파이에 관한 지식이 약간 필요합니다. 하지만 환경설정 생성자가 기존 환경설정 스크린에서 사용되는 액션이나 값을 적절하게 만들어내므로 사용하기 어렵지 않을 것입니다.

Preference(name, value=None)

적절한 액션이나 값을 환경설정으로부터 구성한다. 설정값의 이름은 표준 메뉴에서 나타난 이름이어야 하며, 값은 선택의 이름이거나 선택을 통해 순환하는 "toggle" , 특정 값, 또는 버튼의 경우 값이 없어야 한다.

버튼과 핫스팟에 사용할 수 있는 액션은 다음과 같다:

  • Preference("display", "fullscreen") - 전체화면 모드로 표시한다.
  • Preference("display", "window") - 창 모드로 표시한다.
  • Preference("display", 2.0) - 보통 크기의 2배로 창을 표시한다.
  • Preference("display", "any window") - 이전 크기를 유지하고 창모드로 표시한다.
  • Preference("display", "toggle") - 전체화면 또는 창 모드로 전환한다.
  • Preference("transitions", "all") - 트랜지션을 전부 사용한다.
  • Preference("transitions", "none") - 트랜지션을 사용하지 않는다.
  • Preference("transitions", "toggle") - 트랜지션 사용 켜기/끄기.
  • Preference("show empty window", "show") - "window show" 와 "window auto" 문으로 say문 외부에서 빈 대사창을 표시할 수 있도록 설정한다.
  • Preference("show empty window", "hide") - "window show"와 "window auto"의 기능을 막는다.
  • Preference("show empty window", "toggle") - "window show"와 "window auto"의 기능을 켜거나 끈다.
  • Preference("text speed", 0) - 글자를 한 번에 표시한다.
  • Preference("text speed", 142) - 글자 표시 속도를 초당 142 글자로 설정한다.
  • Preference("joystick") - 조이스틱 설정을 표시한다.
  • Preference("skip", "seen") - 이미 봤던 글자만 넘긴다.
  • Preference("skip", "all") - 본 적 없는 글자도 넘긴다.
  • Preference("skip", "toggle") - 스킵 켜기/끄기.
  • Preference("begin skipping") - 스킵을 시작한다.
  • Preference("after choices", "skip") - 선택 후 계속 스킵한다.
  • Preference("after choices", "stop") - 선택지 선택 후 스킵을 중지한다.
  • Preference("after choices", "toggle") - 선택문 후 스킵 켜기/끄기.
  • Preference("auto-forward time", 0) - 자동 진행 시간을 무한으로 설정한다.
  • Preference("auto-forward time", 10) - 자동 진행 모드의 시간을 설정한다(단위는 250글자 당 초단위 시간).
  • Preference("auto-forward", "enable") - 자동 진행 모드를 사용한다.
  • Preference("auto-forward", "disable") - 자동 진행 모드를 해제한다.
  • Preference("auto-forward", "toggle") - 자동 진행 모드를 켜기/끄기.
  • Preference("auto-forward after click", "enable") - 클릭 후에도 자동 진행 모드를 유지한다.
  • Preference("auto-forward after click", "disable") - 클릭하면 자동 진행 모드를 중단한다.
  • Preference("auto-forward after click", "toggle") - 클릭했을 때 자동 진행 모드의 진행 여부를 설정한다.
  • Preference("automatic move", "enable") - 자동 마우스 모드 켜기.
  • Preference("automatic move", "disable") - 자동 마우스 모드 끄기.
  • Preference("automatic move", "toggle") - 자동 마우스 모드 켜기/끄기.
  • Preference("wait for voice", "enable") - 자동 진행 모드에서 대사를 전부 표시했을 때 음성 재생이 종료하기를 기다린다.
  • Preference("wait for voice", "disable") - 자동 진행 모드에서 대사를 전부 표시했을 때 음성 재생이 종료하기를 기다리지 않는다.
  • Preference("wait for voice", "toggle") - 음성 재생 종료 대기/대기하지 않기
  • Preference("voice sustain", "enable") - 이전 인터렉션에서 재생을 시작한 음성 파일 재생을 유지하기.
  • Preference("voice sustain", "disable") - 이전 인터렉션에서 재생을 시작한 음성 파일 재생을 유지하지 않기.
  • Preference("voice sustain", "toggle") - 음성 파일 재생 유지하기/유지하지 않기.
  • Preference("music mute", "enable") - 배경음악 믹서 음소거.
  • Preference("music mute", "disable") - 배경음악 믹서 음소거 취소.
  • Preference("music mute", "toggle") - 배경음악 켜기/끄기.
  • Preference("sound mute", "enable") - 효과음 믹서 음소거.
  • Preference("sound mute", "disable") - 효과음 믹서 음소거 취소.
  • Preference("sound mute", "toggle") - 효과음 켜기/끄기.
  • Preference("voice mute", "enable") - 목소리 믹서 음소거.
  • Preference("voice mute", "disable") - 목소리 믹서 음소거 취소.
  • Preference("voice mute", "toggle") - 목소리 켜기/끄기.
  • Preference("all mute", "enable") - 모든 믹서 음소거.
  • Preference("all mute", "disable") - 모든 믹서 음소거 취소.
  • Preference("all mute", "toggle") - 모든 믹서 켜기/끄기.
  • Preference("music volume", 0.5) - 배경음악 음량 설정
  • Preference("sound volume", 0.5) - 효과음 음량 설정
  • Preference("voice volume", 0.5) - 목소리 음량 설정
  • Preference("emphasize audio", "enable") - config.emphasize_audio_channels 변수에 지정한 소리 채널을 강조하기
  • Preference("emphasize audio", "disable") - 소리 채널 강조하지 않기.
  • Preference("emphasize audio", "toggle") - 강조 켜기/끄기.
  • Preference("self voicing", "enable") - 음성 합성 켜기.
  • Preference("self voicing", "disable") - 음성 합성 끄기.
  • Preference("self voicing", "toggle") - 음성 합성 켜기/끄기.
  • Preference("clipboard voicing", "enable") - 클립보드에 저장된 텍스트를 음성 합성기능으로 읽어주기.
  • Preference("clipboard voicing", "disable") - 클립보드에 저장된 텍스트를 음성 합성 기능으로 읽지 않기.
  • Preference("clipboard voicing", "toggle") - 클립보드 텍스트를 음성 합성 기능으로 읽기/읽지 않기.

바에 사용할 수 있는 값은 아래와 같습니다:

  • Preference("text speed")
  • Preference("auto-forward time")
  • Preference("music volume")
  • Preference("sound volume")
  • Preference("voice volume")

파일 함수

아래의 기능들은 파일에 관한 유용한 정보를 반환합니다. 파일 액션과 같은 기본 페이지를 사용합니다.

FileCurrentPage()

현재 파일 페이지를 문자열로 반환한다.

FileCurrentScreenshot(empty=None, **properties)

메뉴에 진입했을 때나 FileTakeScreenshot() 로 스크린샷이 찍혔을 때 현재 파일과 함께 저장될 스크린샷을 표시하는 디스플레이어블

현재 스크린샷이 없다면 empty 를 대신 표시한다. (empty 가 None이라면 기본값은 Null() 이다.)

FileJson(name, key=None, empty=None, missing=None, page=None)

`name`과 연관된 Json 정보에 접근한다.

key`가 None이면 Json 전체를 다른 객체에 반환하거나 슬롯이 비었다면 `empty 에 반환한다.

그 외에 이 함수는 key`가 세이브의 json 객체에 정의되었다면 json[key] 반환한다. 지정한 name 과 함께 저장 파일이 있지만 `key`가 없다면 `missing 을, 저장 슬롯이 비어있다면 `empty`를 반환한다.

Json은 config.save_json_callbacks 를 사용해 등록한 콜백으로 저장 슬롯에 추가됩니다.

FileLoadable(name, page=None)

파일이 로드할 수 있는 파일이라면 참, 아니면 거짓을 반환하는 함수.

FileNewest(name, page=None)

가장 최근 파일 슬롯이라면 True를 반환하며 그 외에는 False를 반환한다.

FilePageName(auto='a', quick='q')

현재 세이브/로드 페이지의 이름을 문자열로 반환한다. 일반 페이지라면 페이지 번호를 반환한다. 그 외의 경우 autoquick 을 반환한다.

FileSaveName(name, empty='', page=None)

사용 가능한 세이브 파일의 save_name을 반환한다. 파일이 존재하지 않으면 empty 를 반환한다.

FileScreenshot(name, empty=None, page=None)

지정한 파일과 관련된 스크린샷을 반환한다. 이 때 파일이 로드할 수 없는 파일이라면, empty 가 반환되며, empty 가 None인 경우 Null 디스플레이어블이 생성된다.

반환값은 디스플레이어블이다.

FileSlotName(slot, slots_per_page, auto='a', quick='q', format='%s%d')

슬롯의 이름을 반환한다. 이 함수는 일반 세이브 페이지와 슬롯에 1부터 시작하는 순서대로 번호가 매겨져있다고 가정한다. 슬롯 번호가 2이고 slots_per_page가 10이고, 다른 변수가 기본값이라면:

  • 첫 번째 페이지가 표시 중일 때 이 함수가 반환하는 값은 "2" 이다.
  • 두 번째 페이지가 표시 중일 때 이 함수가 반환하는 값은 "12" 이다.
  • 자동 저장 페이지가 표시 중일 때 이 함수가 반환하는 값은 "a2" 이다.
  • 퀵세이브 페이지가 표시 중일 때 이 함수가 반환하는 값은 "q2" 이다.
slot
접근할 슬롯의 번호.
slots_per_page
페이지당 슬롯 갯수.
auto
자동 저장 페이지에서 사용할 접두어.
quick
퀵세이브 페이지에서 사용할 접두어.
format
포매팅 코드. 페이지 접두어에 해당하는 문자열과 슬롯 번호에 해당하는 정수가 인수로 주어진다.
FileTime(name, format='%b %d, %H:%M', empty='', page=None)

파일이 저장된 시간을 format 에서 지정한 형식대로 반환한다. 파일을 찾을 수 없는 경우 `empty`가 반환된다.

반환값은 문자열이다.

FileUsedSlots(page=None, highest_first=True)

`page`에서 사용하고 있는 세이브 슬롯의 순번이 저장된 리스트를 반환한다.

page
검색할 페이지 이름. None이라면 현재 표시된 페이지를 사용한다.
highest_first
참이라면 순번이 높은 파일 슬롯이 리스트에 먼저 적힌다. 그 외의 경우에는 낮은 순번부터 적힌다.

사이드 이미지 함수

사이드 이미지 함수는 사용하려는 사이드 이미지를 반환하는 함수입니다.

SideImage(prefix_tag='side')

현재 대사를 말하고 있는 캐릭터의 사이드 이미지를 반환한다. 사이드 이미지가 없으면 Null 디스플레이어블을 반환한다.

툴팁

툴팁 클래스는 버튼에 마우스 커서가 올려져있을 때 스크린에 변화를 줍니다.

class Tooltip(default)

마우스 커서가 특정한 영역 위에 있을 때 업데이트될 스크린의 일부를 정의하기 위해 사용하는 툴팁 객체.

툴팁 객체에는 value 필드가 있어 툴팁 객체가 생성될 때 생성자에 전달될 값을 default 값에서 받는다. 툴팁 객체가 만든 액션을 사용하는 버튼 위에 마우스를 올리면 value 필드의 값이 그 액션과 관련된 값으로 바뀌게 된다.

Action(value)

버튼의 hovered 속성에 사용되는 액션을 반환한다. 버튼 위에 마우스를 올리면 툴팁의 value 필드값이 value 로 설정된다. 버튼에서 마우스가 멀어지면 툴팁의 value 필드값이 기본값으로 돌아간다.

스크린에서 툴팁을 사용하면 보통은 default 문에서 툴팁 객체가 만들어집니다. 그 다음에 툴팁의 값과 액션 메소드가 해당 스크린에서 사용됩니다. 스크린의 순서는 상관 없습니다. 툴팁 액션이 사용되기 전에 값을 사용할 수 있기 때문입니다.

툴팁은 모든 값을 받을 수 있습니다. 아래 예제에서는 화면에 문자열을 표시하기 위해 text 문을 사용하였지만, add 문으로 디스플레이어블을 추가할 수도 있습니다. 더 복잡한 방식으로 작동하게 만들 수도 있습니다.

screen tooltip_test:

    default tt = Tooltip("버튼이 선택되지 않았습니다.")

    frame:
        xfill True

        has vbox

        textbutton "하나.":
            action Return(1)
            hovered tt.Action("는 세상에서 가장 외로운 수.")

        textbutton "둘.":
            action Return(2)
            hovered tt.Action("이 무슨 일에든 필요하지.")

        textbutton "셋.":
            action Return(3)
            hovered tt.Action("은 너무 많아.")

        text tt.value