找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12981|回复: 2

[已解决] 请问我想指定某个角色的对话文本居中要怎么做?

[复制链接]
发表于 2019-6-21 23:59:49 | 显示全部楼层 |阅读模式

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

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

×
只有某个特殊角色是会在屏幕中心发言,而且希望他的发言文本是居中的,但是翻了一下中文空间,似乎只有全部对话框的文本居中的办法,请问如何只让这个角色的对话内容居中而不影响其他的角色?
发表于 2019-6-22 22:54:33 | 显示全部楼层
楼上的解决方式是整个画面正中显示,可以用特殊角色定义。
如果只是要求在对话框内文本居中,则需要自定义样式。大致方法如下:

1. 文档的角色定义部分提到过“样式化文本和窗口who_what_window_ 开头的关键词参数,会去掉前缀后分别用于样式化角色名、对话文本和窗口内容。”根据楼主需求,应该定义一个 what_ 开头的样式,比如 octopus_say_dialogue 。2. 在 say 界面定义新的样式。打开screen.rpy, screen say(who, what) 部分找到 style say_dialogue is default ,添加一句:
[RenPy] 纯文本查看 复制代码
style octopus_say_dialogue is say_dialogue

同时在 style say_dialogue 的后面添加 octopus_say_dialogue 的定义:
[RenPy] 纯文本查看 复制代码
style altoria_say_dialogue:
    # 这句好像可有可无
    properties gui.text_properties("dialogue")

    xpos 0.5
    xsize gui.dialogue_width
    ypos 0.5

3. 定义角色时使用对应样式:
[RenPy] 纯文本查看 复制代码
define s = Character('希尔维亚', what_style='octopus_say_dialogue', color="#ff6600")


修改个别角色对话文本样式的思路还是要自定义样式。不过上面那个效果有点问题,文本有时候会跑到右边去。具体的调试就请楼主自己动手了……

评分

参与人数 1干货 +1 收起 理由
BuErShen + 1 角色“对话文本居中”与“对话框内文本居中.

查看全部评分

回复 支持 1 抱歉 0

使用道具 举报

发表于 2019-6-22 18:50:24 | 显示全部楼层
见:对话(dialogue)和旁白(narration)
特殊角色:https://doc.renpy.cn/zh-CN/dialogu ... #special-characters

演示脚本:
[RenPy] 纯文本查看 复制代码
# 声明此游戏使用的角色。颜色参数可使角色姓名着色。
define e = Character("艾琳", color="#66ff00")
define s = Character('希尔维亚', centered, color="#ff6600")

# 游戏在此开始。
label start:

    # 此处显示各行对话。
    e "您已创建一个新的 Ren'Py 游戏。"

    s "当您完善了故事、图片和音乐之后,您就可以向全世界发布了!"

    e "艾琳,不受影响。"

    s "演示结束。"

    # 此处为游戏结尾。
    return


回复 支持 1 抱歉 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 08:49 , Processed in 0.075567 second(s), 20 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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