현재 렌파이 위키에 있던 문서를 새로운 툴을 사용해 이전하고 있습니다. 모든 페이지가 제대로 옮겨진 것이 아니기 때문에 이 페이지에는 마땅히 분류해놓을 곳이 없는 함수를 적어놓았습니다.
renpy.call_stack_depth()¶현재 상황의 call 스택 깊이(call 스택에서 꺼내지거나 반환되지 않고 실행된 call의 수)를 반환한다.
renpy.choice_for_skipping()¶선택지가 곧 등장한다는 것을 알린다. 이 기능의 효과는 두 가지이다.
"선택 후에 스킵 중단하기"로 설정되었다면 스킵을 정지한다.
자동 저장 기능이 발동한다.
renpy.clear_game_runtime()¶게임의 총 구동시간을 계산한 타이머를 초기화한다.
renpy.clear_keymap_cache()¶키맵 캐시를 비운다. 렌파이를 재시작하지 않고도
config.keymap 의 변경사항이 적용되도록 한다.
renpy.context_dynamic(*vars)¶하나 이상의 변수 이름을 인수로 받을 수 있다. 변수가 변수가 현재 상황에서 동적으로 스코프되도록 한다. 이 때 변수는 호출이 반환되면 원래 값으로 초기화된다.
호출 예제는 다음과 같다.:
$ renpy.context_dynamic("x", "y", "z")
renpy.count_dialogue_blocks()¶게임의 기본 언어로 작성된 대사 블럭 수를 반환한다.
renpy.count_seen_dialogue_blocks()¶현재 게임을 플레이하면서 발견한 대사 블럭 수를 반환한다.
이 떄 반환된 숫자는 스크립트가 변경되고 이전 대사 블럭에
접근할 수 없을 때 반환되는 renpy.count_dialogue_blocks() 의 결과값보다 클 수 있다.
renpy.dynamic(*vars)¶하나 이상의 변수 이름을 인수로 받을 수 있다. 변수가 변수가 현재 호출에서 동적으로 스코프되도록 한다. 이 때 변수는 호출이 반환되면 원래 값으로 초기화된다.
호출 예제는 다음과 같다.
$ renpy.dynamic("x", "y", "z")
renpy.focus_coordinates()¶현재 마우스가 올라가 있는 디스플레이어블의 좌표를 찾아낸다. 좌표를 찾아낼 수 있다면, 그 좌표를 (x, y, w, h) 의 튜플로 반환한다. 찾을 수 없다면 (None, None, None, None) 튜플을 반환한다.
renpy.force_autosave(take_screenshot=False)¶자동 재생 기능을 강제로 발생시킨다.
renpy.force_full_redraw()¶스크린이 처음부터 전부 다시 그려지도록 한다. 스크린을 직접 다시 그리기 위해 pygame을 사용한 다음에 이 함수를 호출하라.
renpy.free_memory()¶일부 메모리를 사용할 수 있도록 한다. renpygame 기반의 미니게임을 구동하기 전에 사용하면 유용하다.
renpy.full_restart(transition=False, label='_invoke_main_menu', target='_main_menu')¶렌파이를 재시작하고 사용자를 메인 메뉴로 돌아가게 한다.
config.end_game_transition 값을 사용한다.renpy.get_autoreload()¶자동재시작 플래그를 얻는다.
renpy.get_game_runtime()¶게임 총 구동시간을 반환한다.
게임 총 구동시간 타이머는 최상위레벨의 상황에서 사용자의 입력을 기다린 시간을 계산한다. (메인 메뉴나 게임 메뉴에서 보낸 시간은 계산하지 않는다.)
renpy.get_image_load_log(age=None)¶이미지를 불러온 내역을 기록하는 함수. 최근에 불러온 이미지 100장이 있을 때 이 함수가 반환하는 것은 다음과 같다. :
불러오는 데에 시간이 걸린 경우에는 거짓값이 된다.
목록은 최근 이미지에서 이전 이미지 순서대로 정렬된다.
이미지 불러오기 기록은 오직 config.developer = True 일 때만 유지된다.
renpy.get_mouse_pos()¶마우스 커서의 위치나 현재 터치 위치를 가리키는 (x, y) 튜플. 마우스를 지지하지 않는 기기이거나 현재 터치된 지점이 없다면 x, y 값은 의미 없는 숫자이다.
renpy.get_physical_size()¶창의 물리적 크기를 반환한다.
renpy.get_renderer_info()¶현재 렌파이가 사용중인 렌더러의 정보를 딕셔너리로 반환한다. 이 딕셔너리는 요구되는 키가 하나이다:
"renderer""gl" 이나 ``"sw"``중 하나로 각각 OpenGL,
소프트웨어 렌더러를 뜻한다."resizable""addivive"특정 렌더러도 키값으로 존재할 수 있다. 딕셔너리는 변하지 않는 것으로 취급되어야 한다. 게임 화면이 표시된 때에, (즉, init 블록에 있는 코드가 모두 호출되었을 때) 오직 한 번만 호출된다.
renpy.get_say_attributes()¶현재 say 문과 관계가 있는 속성을 받는다. say 문과 관련있는 속성이 없다면 None을 받는다.
say 문을 미리 읽거나 실행할 때만 유효한 함수이다.
renpy.get_side_image(prefix_tag, image_tag=None, not_showing=True, layer='master')¶대사창 한 쪽 면에 표시할 이미지를 찾는 함수이다.
이를 위해서는 이미지 속성 한 세트를 정의해야 한다. imgae_tag 에 값을 지정하면 해당 태그에서 이미지 속성값을 받는다. 그 외에 이미지 태그는 현재 표시중인 캐릭터에서 받는다.
그 뒤 prefix_tag 태그가 붙은 이미지를 검색하며 해당하는 이미지가 있다면 해당 이미지를 반환한다.
not_showing 이 True면 똑같은 이미지 속성이 있는 이미지가 화면에 없는 경우에만 사이드 이미지를 반환한다.
renpy.get_transition(layer=None)¶`layer`의 트랜지션 값을 얻거나 `layer`가 None이라면 전체 장면의 트랜지션 값을 얻는다. 다음 인터렉션이 발생하는 동안 실행하기 위해 대기열에 추가된 트랜지션을 반환하거나 해당 트랜지션이 없다면 None을 반환한다.
renpy.iconify()¶게임을 아이콘화한다.
renpy.invoke_in_thread(fn, *args, **kwargs)¶백그라운드 쓰레드에서 fn 를 발생시키고 지정한 인수와 키워드 인수를 전달한다. 쓰레드가 한 번 반환되면 인터렉션을 재시작한다.
이 함수는 렌파이가 종료되었을 때 자동으로 작동을 멈추는 데몬 쓰레드를 생성한다.
renpy.is_seen(ever=True)¶현재 행을 플레이어가 본 적이 있다면 참을 반환한다.
ever 가 참이면 플레이어가 행을 본 적이 있는지를 확인한다. 거짓이면 플레이하는 도중에 해당 행을 본 적이 있는지를 확인한다.
renpy.load_module(name, **kwargs)¶렌파이 모듈 name 을 불러온다. 렌파이 모듈은 일반 (스토어) 이름공간에 저장된 rpym 또는 rpymc 확장자 파일에 있는 렌파이 코드로 구성되어 있다. .rpym 파일이 있고 동명의 .rpymc 파일보다 .rpym 파일이 새 것이라면 새 .rpymc 파일을 만들기 위해 .rpym 파일을 불러온다.
모듈에 있는 init 코드는 이 함수가 종료하기 전에 실행된다. name 이라는 이름의 모듈을 찾을 수 없거나 이름이 모호하면 오류를 발생시킨다.
모듈 불러오기는 init 블럭에서만 발생할 것이다.
renpy.load_string(s, filename='<string>')¶호출할 수 있는 s 를 렌파이 스크립트로 불러온다.
파일 s에 있는 첫 번째 명령문의 이름을 반환한다.
`filename`은 문자열 형식으로 적힌 명령문이 나타나게 될 파일 이름이다.
renpy.munge(name, filename=None)¶__로 시작하는 name 를 개조한다.
renpy.not_infinite_loop(delay)¶무한 루푸 탐지기의 타이머를 delay 초로 리셋한다.
renpy.notify(message)¶렌파이가 notify 스크린을 사용해 message 를 표시하도록 한다. 기본적으로 2초 동안 메시지가 표시되며 메시지가 나타나거나 사라질 때 디졸브 효과를 적용한다.
스크린샷 또는 퀵세이브처럼 피드백이 없는 기능과 함께 사용하면 유용하다.
알림은 한 번에 하나만 표시된다. 두 번째 알림이 나타나면 첫 번째 알림과 교체된다.
renpy.pause(delay=None, music=None, with_none=None, hard=False, checkpoint=None)¶렌파이를 일시 정지한다. 사용자가 클릭으로 일시 정지 상태를 끝내면 참을 반환하며 지정한 시간이 경과되거나 일시정지가 스킵되면 거짓을 반환한다.
renpy.pop_call()¶이전 위치로 돌아가지 않고 call 스택에서 현재 call을 꺼낸다.
호출된 레이블의 실행을 마치고 이전에 호출된 위치로 돌아가지 않도록 할 때 사용할 수 있다.
renpy.queue_event(name, up=False, **kwargs)¶지정한 name 의 이벤트를 대기열에 추가한다. `name`은 :var:`config.keymap`에 있는 이벤트 가운데 하나이거나 이벤트 이름의 리스트이어야 한다.
이벤트는 이 함수가 호출된 때에 대기열에 추가된다. 이 함수는 어느 이벤트를
다른 이벤트로 교체되도록(그래서 이벤트 순서가 바뀌도록) 작동하지 않는다.
(이를 위해서는 config.keymap 대신 사용하라.)
이 메소드는 쓰레드 세이프이다.
renpy.quit(relaunch=False, status=0)¶렌파이를 종료시킨다.
renpy.quit_event()¶제목 표시줄의 종료 버튼을 눌렀을 때 발생하는 것과 같은 종료 이벤트를 발생시킨다.
renpy.reload_script()¶렌파이가 게임을 저장하고, 스크립트를 다시 불러오며, 저장된 게임을 불러오도록 한다.
renpy.reset_physical_size()¶renpy.config 에 지정한 값(즉, screen_width 와 screen_height)으로 창의 물리 크기를 설정한다. 이 함수는 전체 화면 모드를 종료시키는 부작용이 있다.
renpy.restart_interaction()¶현재 인터렉션을 재시작한다. 다른 무엇보다 이 함수는 장면에 추가된 이미지들을 표시하고, 스크린을 다시 계산하고, 대기열에 존재하는 모든 트랜지션을 실행한다.
인터렉션 내부에서 (예를 들면 액션에서) 호출되었을 경우에만 작동한다. 인터렉션 외부에서 이 함수는 효과가 없다.
renpy.screenshot(filename)¶filename 이름으로 스크린샷을 저장한다.
renpy.scry()¶현재 명령문을 위한 scry 객체를 반환한다.
scry 객체는 현재 명령문이 미래에 참값으로 설정되어야 한다는 정보를 렌파이에 알려준다. 현재 scry 객체는 필드가 하나이다.
nvl_clearnvl clear 명령문이 다음 인터렉션 이전에
실행되어야 한다면 참값이다.renpy.set_autoreload(autoreload)¶파일이 변경되었을 때 게임 자동 재시작 여부를 결정하는
자동재시작 플래그를 설정한다. 자동재시작 기능은
renpy.utter_restart() 로 게임이 재시작되기 전까지는 사용할 수 없을 것이다.
renpy.set_mouse_pos(x, y, duration=0)¶지정한 x, y 위치로 마우스 포인터를 이동시킨다. 마우스 포인터를 지원하지 않는 기기라면 작동하지 않는다.
renpy.set_physical_size(size)¶창 크기를 size 크기로 설정한다. 이 함수는 전체 화면 모드를 종료시키는 부작용이 있다.
renpy.shown_window()¶표시된 대사창을 가리키기 위해 호출하라. 이 함수는 "window show" 명령문과 상호작용해, 인터렉션 도중에 이 함수가 호출되지 않은 때라면 언제든 "window show" 로 빈 대사창을 표시할 수 있다.
renpy.split_properties(properties, *prefixes)¶properties 를 prefix 당 하나씩 여러 딕셔너리로 나눈다. 이 함수는 prefix`에 대해 속성 내의 각 키를 차례로 확인한다. `prefix 를 대조할 때, prefix 는 키에서 제거되며, 결과값으로 도출되는 키는 상응하는 딕셔너리 내부의 값과 이어진다.
일치하는 접두사가 없다면 예외가 발생한다. (빈 문자열 "" 이 광범위한 딕셔너리를 만들기 위한 마지막 접두사로 사용될 수 있다.)
예를 들어, 다음과 같은 코드는 text 로 시작하는 속성을 나눈다.
text_properties, button_properties = renpy.split_properties("text_", "")
renpy.substitute(s, scope=None, translate=True)¶문자열 s 에 번역문과 새로운 스타일의 포매팅을 적용한다.
번역되고 포매팅된 문자열을 반환한다.
renpy.transition(trans, layer=None, always=False)¶다음 인터렉션 동안에 사용할 트랜지션을 설정한다.
renpy.version(tuple=False)¶tuple 이 거짓이라면 "Ren'Py" 와 렌파이 현재 버전이 적힌 문자열을 반환한다.
tuple 이 참이라면 정수로 적힌 버전 정보가 요소인 튜플을 반환한다.
renpy.vibrate(duration)¶duration 초 동안 기기를 진동시킨다. 현재는 안드로이드 기기에만 작동한다.
layout.yesno_screen(message, yes=None, no=None)¶지정한 messege 와 함께 예/아니오 프롬프트 스크린을 표시한다. 이 스크린은 사용자가 예나 아니오를 누르면 사라진다.
renpy.diff_memory(update=True)¶렌파이와 게임에서 사용하는 객체, 서페이스, 텍스처의 메모리 사용량 정보를 수집한다. `update`가 참인 이 함수가 마지막으로 호출되었을 때의 메모리 사용량과 차이점을 (memory.txt 와 표준 출력에) 기록한다.
사용량 정보는 메모리에서 접근할 수 있는 스토어와 렌파이 임플리멘테이션에 있다. 어떤 객체에 하나 이상의 이름으로 접근할 수 있다면, 가장 직접적으로 접근할 수 있는 이름에 객체가 배정된다.
렌파이에서 사용하는 모든 메모리를 스캔해야 하기 때문에 이 함수는 작동을 완료하기까지 많은 시간이 소요될 수 있다.
renpy.profile_memory(fraction=1.0, minimum=0)¶렌파이와 게임에서 사용하는 객체, 서페이스, 텍스처의 메모리 사용량 정보를 수집한다. 메모리 사용량의 계산 결과를 memory.txt 파일과 표준 출력에 기록한다.
사용량 정보는 메모리에서 접근할 수 있는 스토어와 렌파이 임플리멘테이션에 있다. 어떤 객체에 하나 이상의 이름으로 접근할 수 있다면, 가장 직접적으로 접근할 수 있는 이름에 객체가 배정된다.
렌파이에서 사용하는 모든 메모리를 스캔해야 하기 때문에 이 함수는 작동을 완료하기까지 많은 시간이 소요될 수 있다.
renpy.profile_rollback()¶롤백 시스템에 사용되는 메모리 정보를 수집한다. 롤백 시스템의 메모리 사용량을 (memory.txt 와 표준 출력에) 기록한다. 이 함수는 롤백 시스템 내부에서 사용하는 메모리와 다양한 보관 변수가 사용하는 메모리를 계산해 본다.
renpy.context()¶현재 상황에 고유한 객체를 반환한다. 객체는 새로운 상황에 진입할 때 복사되나 복사본이 변경되더라도 원본은 변경되지 않는다.
이 때의 객체는 저장되며 롤백 과정에 참여한다.
renpy.context_nesting_level()¶현재 상황의 내포 수준을 반환한다. 가장 외부 상황 (저장되고 불려오고 롤백되는 상황)은 이 레벨이 0이며, 선택지나 리플레이 같은 상황에서 레벨은 0이 아닌 수이다.
이 객체는 파이썬 무작위 숫자 생성 인터페이스. 를 구현한 무작위 숫자 생성기입니다. 무작위성은 이 객체가 노출하는 다양한 메소드를 호출해 생성됩니다. 파전체 목록은 파이썬 문서를 참고하기 바라며, 가장 유용한 메소드는 다음과 같습니다. :
renpy.random.random()(0.0, 1.0) 범위에서 무직작위로 부동 소수점 숫자를 반환한다.
renpy.random.randint(a, b)a <= N <= b 범위에서 무작위 정수를 반환한다.
renpy.random.choice(seq)비어있지 않은 연속물인 seq에서 랜덤 요소를 반환한다.
기본 파이썬 무작위 숫자 생성기와 달게, 이 객체는 롤백에 관여해, 몇 번을 롤백하더라도 동일한 숫자를 생성합니다. 이 경우에는 파이썬 무작위 모듈 대신에 이 객체가 사용되어야 할 것입니다.
# 0과 1사이에 있는 부동소수점을 반환한다.
$ randfloat = renpy.random.random()
# 1이상 20이하의 정수 하나를 반환한다.
$ d20roll = renpy.random.randint(1, 20)
# 리스트 요소에서 무작위 요소를 하나 반환한다.
$ randfruit = renpy.random.choice(['apple', 'orange', 'plum'])
renpy.random.Random(seed=None)특정한 값이 지정되었다면 그것을 기초로 삼아 주요 객체와 다른 개별 무작위 숫자 생성기를 반환한다.