각 명령문에는 그에 상응하는 파이썬 코드가 있어 렌파이 스크립트를 파이썬에서 작성할 수 있습니다. 이 때 렌파이 명령문에 상응하는 파이썬 코드는 파이썬 함수이거나 명령문과 같은 기능을 하는 코드 패턴일 수도 있습니다.
캐릭터 객체를 함수로 호출하면 say 문을 파이썬에서도 사용할 수 있습니다. 다음 예제 코드를 사용하면 같은 대사를 두 번 표시합니다:
e "Hello, world."
$ e("Hello, world.")
해설을 표시할 때도 같은 방법을 사용하면 됩니다.
이 때는 narrator
캐릭터를 사용하면 됩니다. 캐릭터를 호출할 때
interact 키워드 인수를 공급할 수도 있습니다. interact 가 False면
캐릭터의 대사창이 표시되며,
그 후 인터렉션이 실행되기 전에 함수가 값을 반환하고 종료됩니다.
이렇게 캐릭터와 함수의 객체가 동등한 점은 여러 방식으로 활용 가능합니다. 파이썬 함수를 하나 정의해 그 함수를 캐릭터 객체 대신 사용할 수도 있습니다. 예를 들어, 아래 함수는 두 캐릭터 가운데 어떤 캐릭터를 선택할지 변수 하나로 결정합니다.
define lucy_normal = Character("루시")
define lucy_evil = Character("사악한 루시")
init python:
def l(what, **kwargs):
if lucy_is_evil:
lucy_evil(what, **kwargs)
else:
lucy_normal(what, **kwargs)
label start:
$ lucy_is_evil = False
l "보통 때에 난 평범한 사람이야."
$ lucy_is_evil = True
l "하지만 가끔은 진짜 성질이 뻗쳐!"
이렇게 사용되는 함수는 알 수 없는 키워드 인수를 무시하거나 캐릭터 함수에 인수를 전달합니다. 덕분에 렌파이가 캐릭터를 호출할 때마다 추가 키워드 인수를 추가하더라도 게임은 정상 작동할 것입니다.
renpy.
say
(who, what, interact=True)¶say문의 동등문이다.
say()
를 사용한다.이 함수는 자주 사용되지 않습니다. 다음 세 가지 행이 모두 같은 기능을 하기 때문입니다.
e "Hello, world."
$ renpy.say(e, "Hello, world.")
$ e("Hello, world.")
menu 문에는 그에 상응하는 파이썬 함수가 있습니다.
사용자에게 선택지를 표시한다. items 는 두 가지 항목으로 이루어진 튜플의 리스트이어야 한다. 튜플에 있는 항목 가운데 첫 번째 항목은 선택지에 적힐 텍스트이어야 하며, 두 번째 항목은 해당 선택지가 선택되었을 때 반환하는 값이다. 이 값이 None이라면 첫 번째 항목은 선택지에 대한 설명문으로 사용된다.
이 항목은 많은 인수를 받으나, 일부만 문서로 작성되었다. items 외에 모든 인수는 키워드 인수로서 입력해야 한다.
사용자에게 선택지를 표시한다. items 는 두 가지 항목으로 이루어진 튜플의 리스트이어야 한다. 튜플에 있는 항목 가운데 첫 번째 항목은 선택지에 적힐 텍스트이어야 하며, 두 번째 항목은 해당 선택지가 선택되었을 때 반환하는 값이다. 이 값이 None이라면 첫 번째 항목은 선택지에 대한 설명문으로 사용된다.
이 항목은 많은 인수를 받으나, 일부만 문서로 작성되었다. items 외에 모든 인수는 키워드 인수로서 입력해야 한다.
image, scene, show, hide 문에는 그에 상응하는 파이썬 함수가 있습니다.
renpy.
get_at_list
(name, layer='master')¶layer 레이어에서 name 태그를 지닌 이미지에 적용된 트랜스폼 리스트를 반환한다. 적용된 트랜스폼이 전혀 없다면 빈 리스트를 반환하며, 지정한 이미지가 화면에 없다면 None을 반환한다.
renpy.
hide
(name, layer='master')¶레이어에서 이미지를 제거한다. hide 문과 같은 기능을 하는 파이썬 함수이다.
renpy.
image
(name, d)¶이미지를 정의한다. image 문과 같은 기능을 하는 파이썬 함수이다.
이 함수는 init 블럭 안에서만 실행된다. 게임이 시작된 이후에 이 함수를 실행하면 에러가 발생한다.
renpy.
layer_at_list
(at_list, layer='master')¶show layer
layer at
at_list 명령문과
같은 기능을 하는 파이썬 동등문.
renpy.
scene
(layer='master')¶layer 에서 모든 디스플레이어블을 제거한다. 표시할 이미지 이름을 받지 않은 scene 문과 같은 기능을 하는 파이썬 함수이다.
이미지 이름을 적은 scene 문은 renpy.scene 함수 다음에
renpy.show()
를 호출하는 것과 똑같이 작동한다.
scene bg beach
위의 명령문은 다음 코드와 똑같이 작동한다.
$ renpy.scene()
$ renpy.show("bg beach")
renpy.
show
(name, at_list=, []layer='master', what=None, zorder=0, tag=None, behind=[])¶레이어에 이미지를 나타낸다. show 문과 프로그램적으로 동등하다.
at
속성과 같은 기능을 한다.onlayer
속성과 같은 기능을 한다.zorder
속성과 같은 기능을 한다. None이라면
기존에 존재하는 zorder 값이 유지되며, 그 외에는 0으로 설정된다.as
속성과 같은 기능을 한다.behind
속성과 같은 기능을 한다.renpy.
show_layer_at
(at_list, layer='master')¶show layer
layer at
at_list 명령문과
같은 기능을 하는 파이썬 동등문.