找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1604|回复: 2

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

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

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

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

×
[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://doc.renpy.cn/zh-CN/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()
回复 支持 抱歉

使用道具 举报

发表于 2022-5-20 23:14:49 | 显示全部楼层
谢谢大佬
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 18:09 , Processed in 0.119313 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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