找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 103|回复: 4

[已解决] 切换style.say_window时文本框闪现

[复制链接]
发表于 2024-12-8 16:51:01 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Kasanerui 于 2024-12-10 14:13 编辑

如题。希望实现一段剧情中前一句文本框在画面居中位置、后一句正常在画面底部位置的效果。
但在利用定义一个新的样式style.window_center、接着在游戏中利用$ style.say_window = style.window_center切换文本框形式时,出现了“在底部闪烁一下文本框后,再正常在画面中央显示”的情况。已善用搜索未能找到解决方法,小白求问大佬应该如何解决?

相关代码如下:
screens.py中对style window_center的定义:
[RenPy] 纯文本查看 复制代码
style window_center:
    xalign 0.5
    xfill True
    yalign 0.5
    ysize gui.textbox_height

    background Image("gui/textbox.png", xalign=0.5, yalign=0.5)

切换window样式的部分:
[RenPy] 纯文本查看 复制代码
    play music birthday
    scene background with dissolve
    $ style.say_window = style.window_center
    a "文本框位置居中。"

    $ style.say_window = style.window
    b "文本框位置恢复。"






发表于 2024-12-9 19:21:26 | 显示全部楼层
不太推荐使用这种方式去更改style,style的内容应该是一个固定样式,不应该在游戏启动后改变。
如果你希望在游戏中改变对话框的位置,你可以额外设定一个变量在screen中使用变换进行修改。
在screen.rpy中找到“say screen”的位置——
[RenPy] 纯文本查看 复制代码
screen say(who, what):
    style_prefix "say"

    window:

        id "window"

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what"

在其中添加两行代码——
[RenPy] 纯文本查看 复制代码
default say_window_yalign = 1.0
screen say(who, what):
    style_prefix "say"

    window:
        yalign say_window_yalign
        id "window"

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what"

之后你就可以控制“say_window_yalign”来改变对话框的y坐标位置了(xalign也是同理)
例如——
[RenPy] 纯文本查看 复制代码
label start:
    "123123"
    $ say_window_yalign = 0.0
    "123123"

这样对话框就会跑到屏幕最上方。
希望能对你有所帮助。
回复 支持 1 抱歉 0

使用道具 举报

发表于 2024-12-10 10:16:54 | 显示全部楼层
本帖最后由 被诅咒的章鱼 于 2024-12-10 10:20 编辑

根据楼主的代码运行了两遍,未出现“在底部闪烁一下文本框后,再正常在画面中央显示”的情况。

可能的问题原因有两个方向:
1. Ren'Py自身问题。我用的8.3.2。
2. a和b两个角色对象额外定义了对话框的样式。建议试试旁白角色是否有同样问题,如果没有问题则进一步查找角色对话样式的冲突点。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-12-10 14:11:08 | 显示全部楼层
烈林凤 发表于 2024-12-9 19:21
不太推荐使用这种方式去更改style,style的内容应该是一个固定样式,不应该在游戏启动后改变。
如果你希望 ...

用您的方法成功解决了,非常感谢!!!
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-12-10 14:11:52 | 显示全部楼层
被诅咒的章鱼 发表于 2024-12-10 10:16
根据楼主的代码运行了两遍,未出现“在底部闪烁一下文本框后,再正常在画面中央显示”的情况。

可能的问题 ...

好的,非常感谢!!!
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 00:57 , Processed in 0.163127 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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