RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 64|回复: 2

[求助] 如何让标题界面随机切换

[复制链接]
发表于 2022-5-14 12:17:11 | 显示全部楼层 |阅读模式

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

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

x
[RenPy] 纯文本查看 复制代码
init python:
    def change_title(i=0):
        i=renpy.random.randint(0,2)
        if i==0:
            gui.main_menu_background = "gui/main_menu.png"
        elif i==1:
            gui.main_menu_background = "gui/title2.png"
        elif i==2:
            gui.main_menu_background = "gui/title3.png"


自己是这么写的,但是完全就没有随机......
发表于 2022-5-14 16:04:14 | 显示全部楼层
本帖最后由 Lost 于 2022-5-14 16:12 编辑

恭喜你踩了一堆坑,当然我的意思是这是个非常好的问题,非常有代表性

小问题:renpy的random有一句说明,无论如何回滚随机值一样,这说明这个随机数是在程序运行时就计算出来的(当然如果你只是想打开游戏时随机选一个背景那没啥问题),参考:https://www.renpy.cn/doc/other.html#renpy-random
解决方法:引用random模块即可

大问题:gui的变更需要重启游戏,因为图片是预加载好的
解决方法:设置持久化数据来保存背景图片,并使用内置utter_restart方法完全重启游戏

参考解决方案:
[RenPy] 纯文本查看 复制代码
default persistent.bg = "gui/main_menu.png"

init python:
    from random import randint
    gui.main_menu_background = persistent.bg

    def change_title():
        i = randint(0, 2)
        if i == 0:
            persistent.bg = "gui/main_menu.png"
        elif i == 1:
            persistent.bg = "gui/frame.png"
        elif i == 2:
            persistent.bg = "gui/window_icon.png"


label start:
    $ change_title()
    'restart'
    $ renpy.utter_restart()
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
谢谢大佬
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-5-25 15:11 , Processed in 0.057170 second(s), 11 queries , File On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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