RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 158|回复: 0

[旧版文档] 条件控制语句

 关闭 [复制链接]
发表于 2018-3-15 19:00:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 BuErShen 于 2018-9-17 08:11 编辑

条件控制语句
注意
此处为旧版文档,不再更新。

查阅最新Ren’Py简体中文文档,请到下面网址(同步官方)
https://www.renpy.cn/doc/index.html




Ren'Py里有几个根据表达式的值来控制脚本运行的命令。但并不是jumpcallreturn 这些无条件就能够控制脚本运行的命令。

需要注意的是,本节讨论是 Ren'Py脚本中的条件控制命令。并不是 Python代码中的 while,if 和 for 条件控制命令,它们无法通用。

If命令

if 命令是在python表达式为真(True)时,则执行区块内的代码。 它由一个if 从句,多个elif 从句(也可以没有)以及最后可选的 else从句组成。

每个从句都应该在自身的逻辑行内,后面跟着一个区块。 ifelif 从句后跟一个表达式,而所有从句都以冒号结尾。

示例:
[RenPy] 纯文本查看 复制代码
if flag:
    e "你得先立个flag!"

[RenPy] 纯文本查看 复制代码
if points >= 10:
    jump best_ending
elif points >= 5:
    jump good_ending
elif points >= 1:
    jump bad_ending
else:
    jump worst_ending


if命令中的表达式是按从上到下的顺序进行求值。 当表达式的值为True 时,执行与该语句对应的区块。 当脚本执行到此区块的结尾处时,Ren'Py会执行if命令之后的语句。

假设所有表达式的值均为False 时,如果有 else 从句,则会执行 else 从句里的区块。

while命令
while命令是在表达式值为 true 时执行一个语句块。
例如:
[RenPy] 纯文本查看 复制代码
$ count = 10
while count > 0: # 如果变量count值大于0
    "T-minus [count]."
     $count -= 1 # 则count值减去1
"升起!"

[RenPy] 纯文本查看 复制代码
while True:
    "这是永不停息的歌曲。"
    "同胞们,它会一直持续下去。"

当脚本首次以及之后每次运行完该区块时,while命令表达式都被求值。直到该表达式的值为False 时,才会执行 while后面的语句。

Ren'Py没有 continue,break或者 for 命令。Continue 和 break命令可以在 while 循环命令之前或之后,使用 jump 命令解决。上面第一个 while循环命令的例子展示了如何使用 while 来取代 for命令。

Pass命令

当需要一个区块同时什么也不执行时,可使用 pass命令。它就是什么也不会执行的占位符。

示例:
[RenPy] 纯文本查看 复制代码
if points >= 10:
   "你做得很好!"
elif points >= 1:
    pass
else:
    "情况有些不妙!"

[RenPy] 纯文本查看 复制代码
# 当仍有事件需要执行时 event.step() 函数会返回 True。
while event.step():
    pass


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号 | 苏公网安备 32092302000068号 )

GMT+8, 2018-12-13 03:28 , Processed in 0.026550 second(s), 21 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表