找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 111|回复: 3

[求助] 在screen里random的数字如何禁止他随便刷新

[复制链接]
发表于 2024-5-2 23:45:40 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Gemini菖蒲 于 2024-5-3 08:13 编辑

QQ图片20240503003213.png
(编辑模式复制代码显示没问题,为什么提交后代码就变成一条条的黑底,不是一整块黑底了)
从sceen a到这个sceen b之后随机生成一个数字,通过这个数字判定这个图标是否显示。
点击返回在sceen a和b之间来回切换的时候,这个生成的随机数字不变(就是不改变这个图标是否显示的状态)。
从sceen b->label c or label d->sceen a ->sceen b的时候才会再次刷新这个随机数字

[RenPy] 纯文本查看 复制代码
#一些乱七八糟的定义
default suijishu = None
default fanhuifuzhi = 1
default xuanfutishi =False
init python:
    def call_b(screen_name):
        renpy.call_screen(screen_name)
init python:
    def call_a(screen_name):
        renpy.call_screen(screen_name)        

label start:
    call screen a

#screena
screen a():
    if fanhuifuzhi == 1:
        $ suijishu = None
    imagebutton:
        idle "前往大地图.png"
        hover "前往大地图.png"
        action Function(renpy.invoke_in_new_context,call_b,"b")

#screenb
screen b():
    $ fanhuifuzhi =2
    if suijishu is None:
        $ suijishu = renpy.random.randint(1,100)

    #随机后判断是否显示的图片按钮,只有触发了事件后重新刷新这个随机数再判定
    if 10< suijishu <60 and Linda_Risley_Main_Storyline_count == 0:
        imagebutton:
            xpos 850
            ypos 700
            idle "图标图片.png"
            hover "图标图片.png"
            hovered SetVariable("xuanfutishi", True)
            unhovered SetVariable("xuanfutishi", False)
            action [SetVariable("xuanfutishi", False),Jump("label_1"
            if xuanfutishi:
                image "悬浮提示.png" xalign 0.5

    #返回按钮
    imagebutton:
        xalign 1.0
        yalign 1.0
        idle "返回按钮-未选中.png"
        hover "返回按钮-选中.png"
        action Function(renpy.invoke_in_new_context, call_a,"a")



如果不加这个if判断会有其他的情况

if suijishu is None:
        $ suijishu = renpy.random.randint(1,100)



就是在screen b上移动鼠标触发hovered的时候就会刷新随机数,刷到判定条件外图标就直接不显示了
发表于 2024-5-3 02:21:11 | 显示全部楼层
代码放代码块里,这样没法看
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-5-3 08:10:03 | 显示全部楼层
本帖最后由 Gemini菖蒲 于 2024-5-3 08:13 编辑
ZYKsslm 发表于 2024-5-3 02:21
代码放代码块里,这样没法看

我QQ直接私聊你了
回复 支持 抱歉

使用道具 举报

发表于 2024-5-4 00:51:13 | 显示全部楼层
不要在界面生成,界面每次改变大小就会重新计算。

一个办法就是,在label里,随机,然后把数字存下来,在screen上用。
比如default a 定义一个变量。
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 22:54 , Processed in 0.119753 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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