找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2249|回复: 2

[经验] 电影字幕一般的显示对话

[复制链接]
发表于 2022-1-26 23:39:13 | 显示全部楼层 |阅读模式

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

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

×
本来有一个需求,要像是电影字幕一样显示对话。
首先感谢群友的想法,新建一个Text可视组件,或者干脆用NVL模式。

我曾经想过自己做一个screen显示对话,但是代码十分不优雅,而且窗口状态管理非常难,再者无法将对话加入历史记录。
其次,想修改say屏幕,通过某种全局变量实现自己的效果,但是和系统机制发生冲突——有什么事情就想修改原本的界面的确不是一个好想法。这可能导致程序混乱和不可预知的系统错误。

在我漫无目的的翻文档的时候,发现定义角色本来就可以顺便定义say窗口的样式!这也太方便了!于是代码如下:
[RenPy] 纯文本查看 复制代码
define subtitle_narrator = Character(
    None,
    window_background=None,
    what_color="#fff",
    what_xalign=0.5
)


使用这个角色说话就可以如同电影字幕一样,没有背景,只有文字,居中显示在游戏画面的下方。如果需要的话,还可以继续修改文字的样式,看个人需求了。

总之,我是想要提醒各位,在创建角色的时候就可以定义say窗口的样式,如果有类似的需求,不用再麻烦了。
发表于 2022-1-28 04:50:34 | 显示全部楼层
谢谢分享!学到了!
回复 支持 抱歉

使用道具 举报

发表于 2023-3-18 15:46:49 | 显示全部楼层
这个非常有用,真的学到了!
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 19:19 , Processed in 0.108470 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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