本帖最后由 Isdaapv 于 2019-12-28 20:00 编辑
谢谢解答!我已经尝试了下面的写法,但是没有效果:
在script.rpy最开始写了:
init python:
def hanshu():
a = bianliang1
b = bianliang2
c = bianliang3
d = bianliang4
if a < b:
renpy.jump(over)
我以测试为目的,就没有按照本帖提的小于10,而是让变量1和变量2之间比较大小。over是一个label
我没有在这里赋值,是由于这些变量实际是最终分数,它们由其他很多基础变量的分数换算的(这些变量全部都是数字)。在游戏开始的时候,基础变量没有初始化,所以我觉得在这里就给最终分数赋值不妥。
接着在游戏里面写了:
$ hanshu()
进游戏后,最终分数的运算都按照我写的公式来的,应该没有问题,我特意设置了一个选项让a扣除很大一个数字,确保满足函数里面的if。但不能工作
我把这个函数调用加在label start后一行,以及加在menu选项下面,都试过了。都没有跳转到over的效果……
我一定是哪里写错了,还劳烦大佬点明……
更新:此问题已经解决。现将代码回馈如下:
[RenPy] 纯文本查看 复制代码 init python:
def hanshu():
a = bianliang1
b = bianliang2
c = bianliang3
d = bianliang4
if min(a, b, c, d) < 10
renpy.jump("over")
游戏中需要引用hanshu的地方,写法不变。之前的写法在定义函数时候renpy.jump里少了引号,所以不能正常工作。另外经测,似乎通过python新函数定义的变量名字(如上面的a b c d),与游戏中同名变量并不冲突,所以可以不用为起名字烦恼了
再次感谢大家的帮助!
|