DokiMod 开发文档 DokiMod 开发文档
主页
DDLC 中文 Mod 模板
返回主站 (opens new window)
  • Mod 模板 2.0 (opens new window)
  • 新版文档 (opens new window)
  • 新版开发文档 (opens new window)
主页
DDLC 中文 Mod 模板
返回主站 (opens new window)
  • Mod 模板 2.0 (opens new window)
  • 新版文档 (opens new window)
  • 新版开发文档 (opens new window)
  • 序

  • 入门

  • 进阶

    • 为 Mod 增加资源
    •  history list 的操作
    • 等效语句
      • say
      • menu
      • hide、show、scene 和 image
      • call 和 jump
  • 分发

  • 杂项

  • DDLC 中文 Mod 模板
  • 进阶
PartyParrot359
2021-09-05

等效语句

# 等效语句

在 Ren'Py 官方文档是这样介绍等效语句的:

为了允许 Ren’Py 能够在 Python 中脚本化,每个 Ren’Py 语句都有一条等效的 Python 语句。每条等效 Python 语句通常包含一个 Python 函数,也可能包含一个 Python 正则表达式,执行一个等效行为。

本章我们将为您介绍一些简单并常用的等效语句。

# say

在 Ren'Py 脚本中,如果想要让角色说话,可以使用这串代码:

<角色名> "<说话内容>"

而在 Python 环境中,renpy.say 就是上面的语句的等效语句。格式如下:

python:
    renpy.say(<谁>, "<内容>")
角色 在等效语句中相应的(变量)名称
Monika m
Yuri y
Natsuki n
Sayori s
玩家/MC mc
旁白 None

可以看到,在调用 renpy.say 时使用的角色代称与在使用等效的 Ren'Py 语句时使用的角色代称是类似的,只不过旁白角色对应的值是 None。

但是这个方法很少使用,因为以下五段代码的效果都是相同的:

 y "啊哈哈。"
python:
    renpy.say(y, "啊哈哈。")
python:
    y("啊哈哈。")
$ renpy.say(y, "啊哈哈。")
$ y("啊哈哈。")

# menu

在 Ren'Py 脚本中,想要显示出一个选择菜单,只需要执行:

menu:
    "<对话框中显示的内容>"
    "选项 A":
        # 选项执行的代码
    "选项 B":
        # 选项执行的代码
    ...

而如果想要使用 Python 调用选择菜单,只需要在脚本中插入类似于下面的代码块:

python:
    menu_result = renpy.display_menu([("选项A", "<选择后返回的结果>"), ("选项B", "<选择后返回的结果>")], screen="choice")

    if menu_result == <布尔值,整数值、字符串...>:
        # 执行的代码
    elif menu_result == <布尔值,整数值、字符串...>:
        # 执行的代码
    # 当然,可以不添加上面的 if 语句,直接忽略返回值。

# hide、show、scene 和 image

hide、show、scene 和 image 都有对应的等效语句。

hide:

python:
    renpy.hide("<图像名称>")

show:

python:
    renpy.show("<需显示图像名称>", at_list=<变换列表>, layer="显示图层名", what=None, zorder=<整数数字>, tag="图像标签", behide=["<标签一>", "<标签二>"])

看起来很复杂,是不是?但对于没有特殊需求的人来说,只需要使用这样的一串代码:

python:
    renpy.show("<需显示图像名称>", layer="显示图层名", zorder=<整数数字>, tag="图像标签")

扩展知识:

Ren'Py 官方文档已经介绍过了 renpy.show 可以接受的所有参数:

name

需要显示的图像名称,是一个字符串。

at_list

应用于图像的变换(transform)列表。等效于 at 特性(property)。

layer

一个字符串,表示图像显示使用的图层名。等效于 onlayer 特性(property)。若为None,使用图像标签(tag)关联的默认图层。

what

若非None,这是一个代替图像的可视组件。(等效于show表达式语句。)当给定了一个 what 参数时, name 可以用于将图像与标签(tag)关联。

zorder

一个整数,等效于 zorder 特性(property)。若为None,zorder会保留之前的值,否则设置为0。

tag

一个字符串,用于指定显示图像的标签(tag)。等效于 as 特性(property)。

behind

一个字符串列表,表示需要显示的图像在哪些图像标签(tag)后面。等效于 behind 特性(property)。

这里不过多讲解。

scene:

python:
    renpy.scene()
    # 此处应调用 renpy.show

请注意:

Ren'Py 中一个完整的 scene 语句在使用等效语句时,应再在后面调用 renpy.show。

如下:

Ren'Py 语句:

scene bg club_day

等效语句:

python:
    renpy.scene()
    renpy.show("bg club_day")

# call 和 jump

提示:

在使用 call 和 jump 的等效语句时,你可以直接运算 label 名,而不必使用 expression。

# call

call 的等效语句如下:

renpy.call(<label 名,字符串>)

# jump

jump 的等效语句如下:

renpy.jump(<label 名,字符串>)
上次更新于: 1/22/2022, 3:45:15 AM
 history list 的操作
Mod 分发

←  history list 的操作 Mod 分发→

Theme by Vdoing | Copyright © 2021-2022 DokiMod Team | 本网站是粉丝作品,与 Team Salvato 无关 | hosted by ▲ Vercel | powered by VuePress
访问统计信息
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式