You've reached a page on the Ren'Py wiki. Due to massive spam, the wiki hasn't been updated in over 5 years, and much of the information here is very out of date. We've kept it because some of it is of historic interest, but all the information relevant to modern versions of Ren'Py has been moved elsewhere.
Some places to look are:
Please do not create new links to this page.
创建一个角色对象。 这个对象将作为两参数说语句(two-argument say statement)的 第一个参数。 当这样使用时,它会在对话框上显示说话角色的姓名。 This behavior is customized by passing parameters to this function.
name是说话人的姓名。 可以字串,这样将作为说话人的姓名使用。也可以为空,这样就不会显示姓名标签。 如果该值是一个空格的话,姓名标签将成一空行。该值是Character函数唯一一个必需的参数。
Keyword Arguments. 除了name之外,Character
还有其它的keyword参数。
如果dynamic为True,name将被解析成含有python表达式的字串,用于生成角色的姓名。
image如果为True,name将被解析成图像。 图像将替换标签加入对话框。
condition如果有提供,这应是包含Python表达式的字串。 只要角色对象一说台词,表达式就会取值。 如果取值为False,台词将不会出现。
interact如果为True(缺省为True),当台词出现在将发生互动。 如果为False,互动将不会发生。这时如果你需要互动,则需调用ui.interact(或用其它方式)。
with_none如果为True,将在每次互动之后运行一个 "with None"语句。 如果为None(缺省方式),将检查config.implicit_with_none以决定是否要运行"with None"。
前缀和后缀(Prefixes and Suffixes.) 接下来的关键词参数可以被用作每一个角色对象的前缀和后缀。 比如说,可以用它们给每句台词自动加上引号,这样你就不用每句都要自己加引号。
who_prefix – 作用是在角色姓名之前加上文本。
who_suffix – 作用是在角色姓名之后加上文本。
what_prefix – 作用是在台词之前加上文本。
what_suffix – 作用是在台词之后加上文本。
Click-to-continue. 这个关键词参数的作用是控制点击继续提示符(click-to-continue indicator):
ctc – 如果有提供,该参数将用一个显示体作为点击继续提示符。 如果没有提供或为None,将不会显示点击继续提示符。
ctc_position如果为"nestled",点击继续提示符将固定在台词的末尾。 如果为"fixed",点击继续提示符将直接显示在屏幕上,这时你可以设定它的各种位置属性。
Functions. 下面的关键词参数可以让你让大量的自定义角色对象的行为:
show_function – 该函数作用是逐步显示对话。 (对话也可以用pause文本标签来暂停。) 它应该和renpy.show_display_say具有相同的签名(signature)。
predict_function – 作用是预读该对话的图像。 它应含有renpy.predict_display_say的签名。
callback – 可以在显示对话的过程中的不同点被调用。 调用callback可以带两个参数。一个是指定事件发生位置的参数;另一个是interact参数,指明显示是否需要互动。 在以后的扩展中,额外的关键词参数和未知事伯将被忽略。 能够调用callback的事件如下:
注意:当互动为False时,结束后会出现slow_done。
Default Show Function下面是由缺省的 show_function所处理的关键词参数。
show_two_window – 作用是将角色姓名和对话分成两个窗口显示。
show_side_image – 指定一个和对话框同时出现的显示体。 可以用位置属性来设置该显体出现的位置。 同时,对话窗口的设置也要注意给该显示体留出一定的空间。
show_two_window_vbox_properties - If supplied, a dictionary containing properties that are added to the vbox containing both windows, when show_two_window is true.
show_who_window_properties - If supplied, a dictionary containing properties that are added to the window containing the name of who is speaking, when show_two_window is true.
show_say_vbox_properties - If supplied, a dictionary containing properties that are added to the vbox inside the main window.
Styles. 下面的关键词参数控制部分的对话框的样式:
who_style – 缺省为'say_label',标签的样式。
what_style – 缺省为'say_dialogue',对话文本的样式。
window_style – 缺省为'say_window',对话框的样式。
Additional Keyword Arguments. 额外的关键词参数将被解析成下列形式:
init:
$ e = Character(u'Eileen', color=(200, 255, 200, 255),
show_function=side_show_say,
show_predict_function=side_show_predict_say,
show_side="cyan.png")
$ equote = Character('Eileen', color=(200, 255, 200, 255),
who_suffix = ':', what_prefix='"', what_suffix='"')
$ ectc = Character('Eileen', color=(200, 255, 200, 255),
ctc = anim.Blink("arrow.png"))
e "Ren'Py是一个用来编写及运行电子小说游戏的引擎。"
equote "我们可以为角色对象提供what_prefix和what_suffix 参数, 这样就可以在每条台词之前自动的加些东西。"
equote "这样会比手工添加要轻松得多。"
equote "我们也能用who_prefix和who_suffix来添加说话人的姓名。"
ectc "最后,演示一下点击继续提示符。它固定在文本中。"
ectc "这同时也演示了anim.Blink函数的作用。"