テキスト入力 link

いくつかの制限はありますが、Ren'Py ではユーザーに少量のテキストを入力させることができます。これは、 renpy.input 関数によって実現でき、この関数は入力されたテキストを変数に格納したり処理したりできる形で返します。

Linux でのテキスト入力は、インプットメソッド(IME)の対応が要らない言語に制限されています。ほとんどの西欧言語では動作しますが、中国語、日本語、韓国語では動作しない恐れがあります。

renpy.input 関数は以下のように定義されています:

renpy.input(prompt, default='', allow=None, exclude='{}', length=None, with_none=None, pixel_width=None) link

この関数を呼び出すと、プレイヤーに対してテキスト入力画面が出てきます。これは入力されたテキストを返します。

prompt

プレイヤーに表示するプロンプトの文字列。

default

プレイヤーによって編集される初期テキスト。

allow

None を指定するか、テキスト入力可能な文字のリストを表す文字列を指定します。

exclude

None を指定するか、テキスト入力を禁止する文字を含む文字列を指定します。

length

None を指定するか、入力文字列の最大長を表す整数を指定します。

pixel_width

None を指定するか、入力の上限幅を、入力時のテキスト表示フォントにおけるピクセル数で指定します。

renpy.input を用いるコードでは、標準の Python の文字列処理関数を使って入力結果を処理することがよくあります。例えば以下のコードでは、プレイヤーに名前を訪ね、前後の空白を削除しています。名前が空の場合はデフォルトの名前に置き換えます。最後にユーザーに表示します:

define pov = Character("[povname]")

python:
    povname = renpy.input("What is your name?")
    povname = povname.strip()

    if not povname:
         povname = "Pat Smith"

pov "My name is [povname]!"