本帖最后由 Maz马 于 2026-3-29 04:58 编辑
看了下csdn的帖子,可以解决问题但是并不是正确的思路,虽然解决了,但我还是提一下,毕竟原帖说不知道原因。
首先这是一个转场的问题,已经好几个人在群里遇到了,csdn中的解决是对的
在options.rpy中
[RenPy] 纯文本查看 复制代码 ## 窗口管理 ########################################################################
##
## 此命令控制对话框窗口何时显示。若为 show,对话框将总是显示。若为 hide,对话框
## 仅在对话出现时显示。若为 auto,对话框会在 scene 语句前隐藏,并在有新对话时重
## 新显示。
##
## 在游戏开始后,可以用 window show、window hide 和 window auto 语句来改变其状
## 态。
define config.window = "auto"
## 用于显示和隐藏对话框窗口的转场
define config.window_show_transition = Dissolve(.2)
define config.window_hide_transition = Dissolve(.2)
本质上是自动应用了Dissolve(.2)的转场,由于默认工程中.2是一个非常短的时间
所以表现为闪一下,auto的话就是自动,config.window设置为hide确实能解决问题
config.window_show_transition和config.window_hide_transition设置为None,则是去掉了对话的默认转场
关于他的问题2则有些偏误
是否使用transform要看具体的效果,因为dissolve是溶解,并不是透明度增减。
如果是希望整个转场单独应用,而不是整个屏幕的所有内容,则应该在layer上动手
详情请看
字典转场
以下为文档原文:
这可能与导致转场发生的语句互动不佳,就像由 window auto 产生的转场。这通常可以通过适用于不同层次的第二个字典转场来解决。
举例来说,如果你发现当对话窗口显示和隐藏时出现了奇怪的闪动,试着把 options.rpy改成:
define config.window_show_transition = { "screens" : Dissolve(.25) } define config.window_hide_transition = { "screens" : Dissolve(.25) }
因为对话窗口整个都在界面(screen)层上所以可以修复这个问题。
|