【RenPy】简单剧情逻辑控制教程
效果如下

这一期教程是解答一个群友光明@的问题。 感谢光明@提供文案素材! 本教程在光明@许可下发出。
这个教程的核心思想就是jump和call的用法。jump的话就是有去无回,call的话执行完,会回到之前的地方。
下面摘抄自官方文档:(https://www.renpy.cn/doc/label.html)
jump语句
jump语句用于将主控流程转入给定的脚本标签(label)处。
若出现了 expression
(表达式)关键词,关键词后面的表达式将被赋值,而被计算后的对应字符串则会被用作跳转目标的标签语句。若未出现 expression
(表达式)关键词,跳转目标的标签名字就必须精确指定。
与call语句不同,jump语句不会将下一个语句放入栈(stack)中。因此,执行完跳转标签对应的语句块之后,主控流程不会回到跳转前的脚本位置。
call语句
call语句用于将主控流程转入给定的脚本标签(label)处。call语句会将下一条语句压入到调用栈(stack)中,并允许主控流程在执行完这次调用后,回到调用发生的脚本位置。
若出现了 expression
(表达式)关键词,关键词后面的表达式将被赋值,而被计算后的对应字符串则会被用作跳转目标的标签语句。若未出现 expression
(表达式)关键词,跳转目标的标签名字就必须精确指定。
from
分句是可选的,在label语句后面直接添加入参名和值,并直接在该label下直接使用。一个命名直白的标签(lable)有助于我们能利用栈(stack)回到脚本里合适的地方,就算加载的是修改过的脚本。
call语句可以带入参的情况,在PEP 3102中有详细说明。
当我们使用一个带入参列表的调用表达式时,必须在表达式和入参列表之间插入关键词 pass
。否则,入参列表会被当作表达式的一部分,而不是call语句的一部分。
视频中使用的代码如下