文本輸入 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]!"