RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 237|回复: 8

[已解决] 新人求助:关于退出游戏的两个问题

[复制链接]
发表于 2021-1-12 18:13:25 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Luren 于 2021-1-13 11:54 编辑

如题,关于退出只在screens里找到如下代码:        if renpy.variant("pc"):

            ## “退出”按钮在 iOS 上被禁止设置,在安卓和网页上也不是必需的。
            textbutton _("退出") action Quit(confirm=not main_menu)
如果我想要修改退出游戏时弹出窗口上的文本——就是那句“您确定要退出吗?”——该怎么做呢?
还有,如果想要在游戏过程中直接结束退出游戏,而不使用return回到主菜单,该怎么做?就是玩到特定部分直接强制关闭游戏。
求解答,谢谢!

 楼主| 发表于 2021-1-12 18:24:19 | 显示全部楼层
发现发的格式有点不对,重新发一遍源代码,在此致歉
[RenPy] 纯文本查看 复制代码
if renpy.variant("pc"):
            ## “退出”按钮在 iOS 上被禁止设置,在安卓和网页上也不是必需的。
            textbutton _("退出") action Quit(confirm=not main_menu)
回复 支持 反对

使用道具 举报

发表于 2021-1-12 20:31:04 | 显示全部楼层
事实上你这个Quit 是导航屏幕那个退出游戏 不是你说的点击右上角×号那个
想要直接无提示退出 你可以使用
[RenPy] 纯文本查看 复制代码
label youAreDied:
    "You died"
    python:
        renpy.quit()

或者把action Quit(confirm=not main_menu)改成confirm(False)
至于你说的修改退出时的提示文字我在screen里找到相关条目是screen confirm部分 但是至于Quit是怎么调用confirm的我没在游戏文件夹里找到 可能需要去改renpy本体了

评分

参与人数 1干货 +3 收起 理由
BuErShen + 3 感谢解答!

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-13 11:07:12 | 显示全部楼层
u1timate 发表于 2021-1-12 20:31
事实上你这个Quit 是导航屏幕那个退出游戏 不是你说的点击右上角×号那个
想要直接无提示退出 你可以使用[m ...

感谢您的解答,这个强制退出是可行的。
关于confirm的代码应该是这个:
[RenPy] 纯文本查看 复制代码
screen confirm(message, yes_action, no_action):

    ## 显示此界面时,确保其他界面无法输入。
    modal True

    zorder 200

    style_prefix "confirm"

    add "gui/overlay/confirm.png"

    frame:

        vbox:
            xalign .5
            yalign .5
            spacing 30

            label _(message):
                style "confirm_prompt"
                xalign 0.5

            hbox:
                xalign 0.5
                spacing 100

                textbutton _("确定") action yes_action
                textbutton _("取消") action no_action

    ## 右键点击退出并答复“no”(取消)。
    key "game_menu" action no_action

不确定退出提示文本的位置,暂时不敢乱改。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-13 11:17:24 | 显示全部楼层
强制退出的问题解决了,现在又有了新的问题:
退出后,之前定义的变量没有重新定义,但并没有保留下来,例如我想制造一个无法挽回只能重新下载的死亡结局:
[RenPy] 纯文本查看 复制代码
#这里是开头部分
if Dead_end:
    "你已经死了"
    $renpy.quit()
#...
#这里是死亡退出部分,选择了错误选项后
python:
    ''你死了''
    Dead_end = True
    renpy.quit()

但执行过程中,就算我没有在开头重置变量Dead_end的定义,变量的True值也还是没有保留下来。
如何让特定变量在游戏结束之后还能得到保留呢?
我想到了仿照DDLC的做法,重新创建一个隐藏文件将变量隐藏在其中。
苦于技术力不足,求解答!
回复 支持 反对

使用道具 举报

发表于 2021-1-13 11:25:16 | 显示全部楼层
Luren 发表于 2021-1-13 11:17
强制退出的问题解决了,现在又有了新的问题:
退出后,之前定义的变量没有重新定义,但并没有保留下来,例 ...

define与default的区别在官方文档里已经说明的很清楚了
建议去官方文档好好看看
回复 支持 反对

使用道具 举报

发表于 2021-1-13 11:26:39 | 显示全部楼层
Luren 发表于 2021-1-13 11:07
感谢您的解答,这个强制退出是可行的。
关于confirm的代码应该是这个:
[mw_shl_code=renpy,false]screen ...

Quit()方法应该也是调用的这里的confirm 但是Quit()方法在哪就不知道了 找到Quit()方法所在的位置改一下message大概就可以了罢(猜的
回复 支持 反对

使用道具 举报

发表于 2021-1-13 11:35:17 | 显示全部楼层
Luren 发表于 2021-1-13 11:17
强制退出的问题解决了,现在又有了新的问题:
退出后,之前定义的变量没有重新定义,但并没有保留下来,例 ...

你在这里用变量不如直接用renpy.seen_label(label)
把死亡结局单写一个label 每次启动游戏走一遍这个renpy.seen_label(label)就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-13 11:46:42 | 显示全部楼层
u1timate 发表于 2021-1-13 11:26
Quit()方法应该也是调用的这里的confirm 但是Quit()方法在哪就不知道了 找到Quit()方法所在的位置改一下m ...

问题已经解决了,再次向您表示感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2021-1-26 14:46 , Processed in 0.034088 second(s), 11 queries , File On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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