RenPy多选菜单已选选项隐藏失效,新手求助
RenPy多选菜单隐藏已选选项问题修复
核心错误点
- 条件判断符号误用:你在菜单选项的条件里写了
bottle_open = False,这是赋值操作,不是判断变量是否为False。RenPy里判断相等要用==,布尔值判断更简洁的写法是not bottle_open。 - 变量未初始化:所有标记选项的变量没有初始值,第一次判断时变量不存在,会导致逻辑异常。必须在游戏开始前把这些变量初始化为
False。 - 冗余变量没必要:你额外定义了
bottle_open1这类变量,直接复用第一次的标记变量即可,逻辑更统一。
修正后的完整代码示例
# 初始化所有物品标记变量,默认未选中 default bottle_open = False default fidget = False default pepper = False default knife = False default freud = False label start: "开始选择物品吧:" # 循环菜单,玩家可多次选择直到选完 menu item_selection: "汽水盖开瓶器" if not bottle_open: $ bottle_open = True jump choose_more "指尖魔方" if not fidget: $ fidget = True jump choose_more "镶钻胡椒喷雾罐" if not pepper: $ pepper = True jump choose_more "战术折刀(刀刃坏了)" if not knife: $ knife = True jump choose_more "你最爱的心理学家手办" if not freud: $ freud = True jump choose_more "我选完了": jump leave label choose_more: "还要再选一个吗?" jump item_selection label leave: "你选好了以下物品:" if bottle_open: "- 汽水盖开瓶器" if fidget: "- 指尖魔方" if pepper: "- 镶钻胡椒喷雾罐" if knife: "- 战术折刀(刀刃坏了)" if freud: "- 你最爱的心理学家手办" return
关键说明
- 用
default初始化变量是RenPy的标准方式,会在游戏启动时自动设置初始值,避免变量未定义的错误。 - 菜单选项后的
if not 变量名会自动隐藏已选中的选项,玩家无法重复选择。 - 循环菜单的设计让玩家可以自由选择多个物品,直到主动结束选择流程。
内容的提问来源于stack exchange,提问作者adhd1357
相关产品推荐
相关产品推荐

