文本输入 link

Ren’Py可以提示用户输入一小段文本,但有一些限制条件。renpy.input() 函数完成提示,并返回输入的文本,允许将其保存在某个变量或者其他进程中。

在Linux平台上,文本输入不需要输入法(IME)支持。大部分西方语言都能正常工作,但中文、日文和韩文则不行。

renpy.input函数定义如下:

renpy.input(prompt, default=u'', allow=None, exclude=u'{}', length=None, with_none=None, pixel_width=None, screen=u'input', mask=None, copypaste=True, **kwargs) link

调用该函数会弹出一个窗口,要求用户输入文本。函数返回用户输入的文本。

prompt

向用户显示的提示字符串。

default

允许用户编辑内容的初始化文本字符串。

allow

若非None,这是允许输入文本使用的字符列表。

exclude

若非None,这是不允许输入文本使用的字符列表。

length

若非None,这项必须是一个整数,给定了输入字符串的最大长度。

pixel_width

若非None,输入被限制在给定的像素宽度。

screen

接受输入的界面名称。如果没有指定,默认使用 input 界面。

mask

若非空,在输入时会用单字符的字符串代替用户输入的文本,类似密码输入。

copypaste

若为True,可以使用复制粘贴。

如果 config.disable_input 的值为True,该函数只会返回 default 的值。

前缀为 show_ 的关键字参数将去掉前追后传入指定的界面。

使用renpy.input通常还需要在后面处理输入结果,可以使用标准的Python字符串操作函数。例如,下面的脚本会询问用户使用的名字并移除开头和结尾的空白。如果输入的名字为空,会自动替换为一个默认的名字。最后向用户显示。

define pov = Character("[povname]")

python:
    povname = renpy.input("你的名字是什么?", length=32)
    povname = povname.strip()

    if not povname:
         povname = "帕特·史密斯"

pov "我的名字是 [povname]!"